Commit graph

34100 commits

Author SHA1 Message Date
Joey Hess
8795fc6ba8
same 2019-02-05 14:05:59 -04:00
Joey Hess
b080699a95
fromkey --json
* fromkey: Added --json.
* fromkey --batch output changed to support using it with --json.
  The old output was not parseable for any useful information, so
  this is not expected to break anything.
2019-02-05 14:03:29 -04:00
Joey Hess
7b46b43c48
fromkey: Made idempotent
If the worktree file already exists, and is annexed and uses the same
key, avoid failing, nothing needs to be done.

Had to add lookupFileNotHidden to handle the case where an adjust --hide-missing
is in use, and the worktree file was hidden due to the object content
being missing. lookupFile would return the key of the hidden file,
but it makes sense that after fromkey succeeds, the worktree must
contain the file it was supposed to set up.
2019-02-05 13:13:13 -04:00
Joey Hess
995628d94a
response 2019-02-05 12:56:02 -04:00
Ilya_Shlyakhter
725d37d940 stand-alone tarballs for specific versions 2019-02-04 18:59:06 +00:00
madalu
18e060cd11 2019-02-04 14:40:03 +00:00
elmimmo
4e8cd3321b 2019-02-04 00:26:41 +00:00
Ilya_Shlyakhter
1b3c4d9a56 git-annex-fromkey behavior when target file exists 2019-02-02 23:13:55 +00:00
Joey Hess
dac5865b77
Merge branch 'master' of ssh://git-annex.branchable.com 2019-02-02 13:56:54 -04:00
Joey Hess
a64fca92f6
Fix race in cleanup of othertmp directory that could result in a failure attempting to access it.
Need to create the directory after the lock is held, not before.

The other racing process would need to shut down at just the wrong time,
running cleanupOtherTmp.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2019-02-02 13:56:31 -04:00
anarcat
d59089d2ca fix broken link 2019-02-01 20:13:49 +00:00
Joey Hess
aff2fd33b3
fix image link 2019-02-01 14:52:59 -04:00
Joey Hess
cb45c78638
Merge branch 'master' of ssh://git-annex.branchable.com 2019-02-01 14:49:02 -04:00
Joey Hess
dc6bcc9f58
devblog 2019-02-01 14:47:56 -04:00
rjc.live@9898e13e9f2423b0635b822053d4d8aeee499913
f326e7eaf7 2019-02-01 12:04:06 +00:00
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