git-annex/Remote
Joey Hess 88d2d59f83 glacier: Better handling of the glacier inventory, which avoids duplicate uploads to the same glacier repository by git annex copy.
The checkpresent hook can return either True or, False, or fail with a message
if it cannot successfully check the remote. Currently for glacier, when
--trust-glacier is not set, it always returns False. Crucially, in the case
when a file is in glacier, this is telling git-annex it's not there, so copy
re-uploads it. This is not desirable; it breaks using glacier-cli to retreive
that file later, and it wastes money/bandwidth.

What if it instead, when the glacier inventory is missing a
file, it returns False. And when the glacier inventory has a file, unless
--trust-glacier is set, it *fails*.

The result would be:

* `git annex copy --to glacier` would only send things not listed in inventory. If a file is listed in the inventory, `copy`
  would complain that --trust-glacier` is not set, and not re-upload the file.
* `git annex drop` would only trust that glacier has a file when --trust-glacier is set. Behavior unchanged.
* `git annex move --to glacier`, when the file is not listed in inventory, would send the file, and delete it locally. Behavior unchanged.
* `git annex move --to glacier`, when the file is listed in inventory, would only trust that glacier has the file when --trust-glacier is set
* `git annex copy --from glacier` / `git annex get`, when the file is located in glacier, would trust the location log, and attempt to get the file from glacier.
2013-05-29 13:52:42 -04:00
..
Helper print encryption setup message before action 2013-05-18 19:36:55 -04:00
Bup.hs expose Control.Monad.join 2013-04-22 20:24:53 -04:00
Directory.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -04:00
Git.hs Merge branch 'robustness' 2013-05-25 15:22:18 -04:00
Glacier.hs glacier: Better handling of the glacier inventory, which avoids duplicate uploads to the same glacier repository by git annex copy. 2013-05-29 13:52:42 -04:00
Hook.hs hook special remote: Added combined hook program support. 2013-05-21 19:19:03 -04:00
List.hs sync, assistant: Sync with remotes that have annex-ignore set 2013-04-22 14:57:09 -04:00
Rsync.hs deal with Cygwin rsync paths issue 2013-05-14 13:24:15 -04:00
S3.hs Store an annex-uuid file in the bucket when setting up a new S3 remote. 2013-04-27 17:01:24 -04:00
Web.hs connect existing meters to the transfer log for downloads 2013-04-11 17:32:31 -04:00
WebDAV.hs Support building with DAV 0.4. 2013-04-30 14:10:55 -04:00