git-annex/Remote
Joey Hess 3175015d1b
lockContent for S3 (with versioning=yes) and git-lfs
Made several special remotes support locking content on them while
dropping, which allows dropping from another special remote when the
content will only remain on a special remote of these types.

In both cases, verify the content is present actively, because it's
certianly possible for things other than git-annex to have removed it.

Worth thinking about what to do if at some later point, git-lfs gains
support for dropping content, and a content locking operation.
That would probably need a transition; first would need to make lockContent
use the locking operation. Then, once enough time had passed that we can
assume any git-annex operating on the git-lfs remote had that change,
git-annex could finally allow dropping from git-lfs.

Or, it could be that git-lfs gains support for dropping content, but not
locking it. In that case, it seems this commit would need to be reverted,
and then wait long enough for that git-annex to be everywhere, and only
then can git-annex safely support dropping from git-lfs.

So, the assumption made in this commit could lead to bother later.. But I
think it's actually highly unlikely git-lfs does ever support dropping;
it's outside their centralized model. Probably. :) Worth keeping in mind as
the same assumption is made about other special remotes though.

This commit was sponsored by Ethan Aubin.
2020-06-26 13:46:42 -04:00
..
Directory make storeKey throw exceptions 2020-05-13 14:03:00 -04:00
External async exception safety for external special remote processes 2020-06-09 12:22:14 -04:00
Helper fix a further bug 2020-06-16 18:14:36 -04:00
List auto-init autoenable=yes 2020-05-27 12:40:35 -04:00
Rsync fix windows build 2020-01-01 14:27:03 -04:00
WebDAV more RawFilePath 2019-12-18 17:10:28 -04:00
Adb.hs convert renameExport to throw exception 2020-05-15 15:08:09 -04:00
BitTorrent.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
Bup.hs fix reversion 2020-06-05 19:06:09 -04:00
Ddar.hs convert to withCreateProcess for async exception safety 2020-06-04 15:45:52 -04:00
Directory.hs fix file descriptor leak 2020-06-05 15:34:43 -04:00
External.hs fix implicit embedcreds regression 2020-06-16 18:00:19 -04:00
GCrypt.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
Git.hs local git remote autoinit improvements 2020-06-16 13:24:00 -04:00
GitLFS.hs lockContent for S3 (with versioning=yes) and git-lfs 2020-06-26 13:46:42 -04:00
Glacier.hs close stdin handles before waiting on commands 2020-06-05 17:27:49 -04:00
Hook.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
List.hs auto-init autoenable=yes 2020-05-27 12:40:35 -04:00
P2P.hs make retrieveKeyFile and retrieveKeyFileCheap throw exceptions 2020-05-13 17:07:07 -04:00
Rsync.hs fix implicit embedcreds regression 2020-06-16 18:00:19 -04:00
S3.hs lockContent for S3 (with versioning=yes) and git-lfs 2020-06-26 13:46:42 -04:00
Tahoe.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
Web.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
WebDAV.hs fix embedcreds=yes reversion 2020-05-21 14:35:30 -04:00