git-annex/Logs
Joey Hess 3e68c1c2fd add remote state logs
This allows a remote to store a piece of arbitrary state associated with a
key. This is needed to support Tahoe, where the file-cap is calculated from
the data stored in it, and used to retrieve a key later. Glacier also would
be much improved by using this.

GETSTATE and SETSTATE are added to the external special remote protocol.

Note that the state is left as-is even when a key is removed from a remote.
It's up to the remote to decide when it wants to clear the state.

The remote state log, $KEY.log.rmt, is a UUID-based log. However,
rather than using the old UUID-based log format, I created a new variant
of that format. The new varient is more space efficient (since it lacks the
"timestamp=" hack, and easier to parse (and the parser doesn't mess with
whitespace in the value), and avoids compatability cruft in the old one.

This seemed worth cleaning up for these new files, since there could be a
lot of them, while before UUID-based logs were only used for a few log
files at the top of the git-annex branch. The transition code has also
been updated to handle these new UUID-based logs.

This commit was sponsored by Daniel Hofer.
2014-01-03 16:35:57 -04:00
..
PreferredContent added GETWANTED, SETWANTED for Tobias's flickr remote 2014-01-01 20:12:20 -04:00
Presence forget --drop-dead: Completely removes mentions of repositories that have been marked as dead from the git-annex branch. 2013-08-31 17:51:13 -04:00
Trust forget --drop-dead: Completely removes mentions of repositories that have been marked as dead from the git-annex branch. 2013-08-31 17:51:13 -04:00
FsckResults.hs merge improved fsck types from git-repair and some associated changes 2013-11-30 14:29:11 -04:00
Group.hs refactor git-annex branch log filename code into central location 2013-08-29 19:13:00 -04:00
Location.hs fix warning 2013-09-04 21:37:13 -04:00
PreferredContent.hs added GETWANTED, SETWANTED for Tobias's flickr remote 2014-01-01 20:12:20 -04:00
Presence.hs forget --drop-dead: Completely removes mentions of repositories that have been marked as dead from the git-annex branch. 2013-08-31 17:51:13 -04:00
Remote.hs refactor git-annex branch log filename code into central location 2013-08-29 19:13:00 -04:00
RemoteState.hs add remote state logs 2014-01-03 16:35:57 -04:00
Schedule.hs write via temp file 2013-10-14 16:15:38 -04:00
Transfer.hs syntax 2013-12-11 00:18:58 -04:00
Transitions.hs remove *>=> and >=*> ; use <$$> instead 2013-09-27 19:58:48 -04:00
Trust.hs forget --drop-dead: Completely removes mentions of repositories that have been marked as dead from the git-annex branch. 2013-08-31 17:51:13 -04:00
Unused.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
UUID.hs fix crash on empty description 2013-11-09 13:50:44 -04:00
UUIDBased.hs add remote state logs 2014-01-03 16:35:57 -04:00
Web.hs sync, pre-commit, indirect: Avoid unnecessarily catting non-symlink files from git, which can be so large it runs out of memory. 2013-09-19 14:48:42 -04:00