Commit graph

33935 commits

Author SHA1 Message Date
andrew
237bc83b60 Added a comment 2019-02-01 01:51:16 +00:00
Joey Hess
7ed785c38a
close 2019-01-31 13:49:51 -04:00
Joey Hess
b8b91b3ae6
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-31 13:34:44 -04:00
Joey Hess
7b9701675e
Display progress bar when getting files from export remotes
And moved the progress bar display into storeExport as well.

This commit was sponsored by John Pellman on Patreon.
2019-01-31 13:34:12 -04:00
Ilya_Shlyakhter
f0dea0ba06 reporting the status of each operation in a batch; completing doable ops even if others fail. 2019-01-30 22:20:10 +00:00
Joey Hess
4f50a21137
devblog 2019-01-30 16:36:49 -04:00
Joey Hess
ca12d8afdd
bug report 2019-01-30 16:23:26 -04:00
Joey Hess
ab689cf0cd
Improved speed of S3 remote by only loading S3 creds once
This gets back any speed lost in commit
9cebfd7002, and speeds up all uses of S3
remotes that operate on them more than once.

This commit was sponsored by Brett Eisenberg on Patreon.
2019-01-30 16:20:14 -04:00
Joey Hess
8eb66a5c40
avoid potentually unsafe use of runResourceT
Pushed the ResourceT out into larger code blocks, and made sure that
the the http result from a sendS3Handle is processed inside the same
ResourceT block.

I don't think this fixes any bugs, but it allows getting rid of a scary
comment.

This commit was sponsored by Eric Drechsel on Patreon.
2019-01-30 15:40:13 -04:00
Joey Hess
9cebfd7002
purify exportActions
Purifying exportActions will allow introspecting and modifying it,
which is needed to add progress bar display to it.

Only S3 and WebDAV ran an Annex action while constructing ExportActions.
There was a small performance gain from them doing that, since a
resource was able to be prepared and reused for multiple actions by
Command.Export.

As seen in commit 809cfbbd8a and
5d394023eb S3 and WebDAV actually create a
new handle for each access in normal, non-export use. It doesn't seem
worth making export use of them marginally more efficient than normal
use. It would be better to do that work upfront when constructing the
remote. Or perhaps use a MVar to cache a handle.

This commit was sponsored by Nick Piper on Patreon.
2019-01-30 15:11:40 -04:00
Joey Hess
5d394023eb
remove incorrect comment
resourcePrepare does not cause the resource to only be prepared once.

The http manager should be reused, which does avoid http connection
overhead, but not because of the use of resourcePrepare.
2019-01-30 14:38:35 -04:00
Joey Hess
809cfbbd8a
prepareS3Handle didn't give any benefits, so remove
I seem to have thought that a Preparer was only run once when a remote
is accessed multiple times, but that is not in fact the case. prepareS3Handle
is run once per access. So, there is no point to it.

That there is some duplicate work done on each access is now apparent.
Luckily, the http manager is reused, so only one http connection is
made. But the S3 creds are loaded repeatedly. Room for improvement here.

This commit was sponsored by Jack Hill on Patreon.
2019-01-30 14:23:39 -04:00
Joey Hess
720e5fda5c
export retrieval fallback to handle S3 remote with partially missing version IDs
When key-based retrieval from a S3 remote with exporttree=yes
appendonly=yes fails, fall back to trying to retrieve from the exported
tree. This allows downloads of files that were exported to such a remote
before versioning was enabled on it.

This is useful at least for a transition for users who got into that
situation, so they can download content from their S3 remote. May want to
remove this in the future though, since normally trying to download the
second time is only extra work.

This commit was sponsored by Brock Spratlen on Patreon.
2019-01-30 13:23:03 -04:00
Joey Hess
9216718fa0
fix one more export conflict false positive
Somehow forgot about the case where the current export db tree is the
same one in the export log, and it warned about an export conflict when
getting a file in that situation. Of course it's no conflict at all!

This commit was sponsored by Jochen Bartl on Patreon.
2019-01-30 13:18:42 -04:00
Joey Hess
3b9b6c965d
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-30 12:50:00 -04:00
Joey Hess
ad1d422dd7
fix false positive in export conflict detection
Like the earlier fixed one in Command.Export, it occurred when the same
tree was exported by multiple clones. Previous fix was incomplete since
several other places looked at the list of exported trees to detect when
there was an export conflict. Added a single unified function to avoid
missing any places it needed to be fixed.

This commit was sponsored by mo on Patreon.
2019-01-30 12:36:30 -04:00
aaron@784fd85903b38afc8a44d117ba95e3dcce0bd230
d7fe32d1f8 Added a comment: Ah, ok. 2019-01-30 16:36:13 +00:00
Joey Hess
e3dce20cf5
devblog 2019-01-29 15:27:13 -04:00
Joey Hess
3b646f9b3c
add news item for git-annex 7.20190129 2019-01-29 15:22:30 -04:00
Joey Hess
4cf7deb57e
releasing package git-annex version 7.20190129 2019-01-29 15:21:44 -04:00
Joey Hess
8fc6c11cf1
couple fixes 2019-01-29 15:20:22 -04:00
Kyle Meyer
62edb7bee0
doc/git-annex-export: fix a typo 2019-01-29 15:10:12 -04:00
Joey Hess
a8f1add4d1
S3: Detect when version=yes but an exported file lacks versioning, and refuse to delete it, to avoid data loss.
This commit was sponsored by Denis Dzyubenko on Patreon.
2019-01-29 15:07:27 -04:00
Joey Hess
a4f71aa1e8
update 2019-01-29 14:27:32 -04:00
Joey Hess
7dd2672bd2
remove manual versioning mention from here
git-annex will tell the user if they need to manually enable versioning
2019-01-29 14:13:14 -04:00
Joey Hess
94bd598973
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-29 14:12:57 -04:00
Joey Hess
bb9817ceae
enableremote S3: Do not let versioning=yes be set on existing remote
Because when git-annex lacks S3 version IDs for files stored in the bucket,
deleting them would cause data loss.

Also because git-annex is not able to download unversioned objects from a bucket
when versioning=yes.

This also prevents setting versioning=no. While that would perhaps be
possible to do safely, it would add complexity, and would mean that if
the user accidentially did enableremote versioning=no, they would not be
able to undo it.

This commit was sponsored by Trenton Cronholm on Patreon.
2019-01-29 14:09:50 -04:00
Joey Hess
ee011b3cbb
initremote S3: Automatically enable versioning in S3 buckets when configured with versioning=yes.
Needs not yet released version 0.22 of aws library; with older versions
asks the user to configure the bucket versioning themselves.

Note that S3 endpoints that don't support versioning will cause putBucketVersioning
to throw an exception, so initremote will fail.

This commit was sponsored by Jake Vosloo on Patreon.
2019-01-29 13:46:04 -04:00
Joey Hess
c4977ec1ff
refactoring 2019-01-29 13:42:32 -04:00
kyle
64ae689f21 2019-01-29 16:26:06 +00:00
Joey Hess
365c9767af
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-28 12:08:21 -04:00
Joey Hess
139611331a
plan 2019-01-28 12:07:48 -04:00
Ilya_Shlyakhter
4682f95b5a request for help with building git-annex on conda-forge 2019-01-27 20:31:17 +00:00
aleritty@6e05a9f3af45614edd920392381d4e4d83e11f62
3e25cd7915 2019-01-27 17:56:07 +00:00
Joey Hess
40daf7f1dc
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-26 13:19:54 -04:00
Joey Hess
f08912a062
bug 2019-01-26 13:19:30 -04:00
Joey Hess
a9593a43e9
explain why numcopies is not checked in performUnexport 2019-01-26 12:52:56 -04:00
yarikoptic
76652f0907 Added a comment 2019-01-26 00:46:04 +00:00
Ilya_Shlyakhter
973034eb6d Added a comment 2019-01-25 21:34:15 +00:00
Lukey
e8266673f8 Presenting my Workarounds 2019-01-25 20:07:28 +00:00
yarikoptic
fd5bf09cd5 initial plea for publicurl for all special remotes 2019-01-25 03:08:39 +00:00
yarikoptic
55376d0a28 initial whining about absent way to get supported configuration options for a special remote 2019-01-25 02:58:52 +00:00
Joey Hess
f21d692535
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-24 16:39:32 -04:00
Joey Hess
e06c0d92cd
git patch available 2019-01-24 16:39:12 -04:00
gueux
f4dd33d33b Added a comment 2019-01-24 10:34:09 +00:00
Joey Hess
2e9becf989
typo 2019-01-24 00:10:16 -04:00
Joey Hess
6db0970001
Merge branch 'master' of ssh://git-annex.branchable.com 2019-01-23 13:09:14 -04:00
Joey Hess
669b305de2
S3: Send a Content-Type header when storing objects in S3
So exports to public buckets can be linked to from web pages.

(When git-annex is built with MagicMime support.)

Thanks to Jared Cosulich for the idea.
2019-01-23 13:08:47 -04:00
Joey Hess
467c3b393d
refactor magic 2019-01-23 12:40:59 -04:00
pthomasdelaney@9b04608ad7e837fde64ab60a285a7b7254b5bb26
49b31f7c00 Added a comment 2019-01-23 02:26:33 +00:00