git-annex/Remote
Joey Hess 794e9a7a44
store S3 version IDs
Only done when versioning=yes is configured. It could always do it when
S3 sends back a version id, but there may be buckets that have
versioning enabled by accident, so it seemed better to honor the
configuration.

S3's docs say version IDs are "randomly generated", so presumably
storing the same content twice gets two different ones not the same one.
So I considered storing a list of version IDs for a key. That would
allow removing the key completely. But.. The way Logs.RemoteState works,
when there are multiple writers, the last writer wins. So storing a list
would need a different log format that merges, which seemed overkill to support
removing a key from an append-only remote.

Note that Logs.RemoteState for S3 is now dedicated to version IDs.
If something else needs to be stored, a new log will be needed to do it.

This commit was supported by the NSF-funded DataLad project.
2018-08-30 14:30:56 -04:00
..
Directory remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
External add GETINFO to external protocol (for ronnypfa) 2018-06-08 11:56:24 -04:00
Helper don't untrust appendonly exports 2018-08-30 11:48:04 -04:00
Rsync Support exporttree=yes for rsync special remotes. 2018-02-28 13:36:20 -04:00
WebDAV webdav: Avoid unncessisarily creating the collection at the top of the repo 2017-10-11 11:10:33 -04:00
Adb.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
BitTorrent.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Bup.hs export appendonly support 2018-08-30 11:18:20 -04:00
Ddar.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Directory.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
External.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
GCrypt.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Git.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Glacier.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Hook.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
List.hs change Remote.repo to Remote.getRepo 2018-06-04 15:30:26 -04:00
P2P.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Rsync.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
S3.hs store S3 version IDs 2018-08-30 14:30:56 -04:00
Tahoe.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
Web.hs add Remote.readonly 2018-08-30 11:12:18 -04:00
WebDAV.hs add Remote.readonly 2018-08-30 11:12:18 -04:00