git-annex/Logs
Joey Hess 9828f45d85
add RemoteStateHandle
This solves the problem of sameas remotes trampling over per-remote
state. Used for:

* per-remote state, of course
* per-remote metadata, also of course
* per-remote content identifiers, because two remote implementations
  could in theory generate the same content identifier for two different
  peices of content

While chunk logs are per-remote data, they don't use this, because the
number and size of chunks stored is a common property across sameas
remotes.

External special remote had a complication, where it was theoretically
possible for a remote to send SETSTATE or GETSTATE during INITREMOTE or
EXPORTSUPPORTED. Since the uuid of the remote is typically generate in
Remote.setup, it would only be possible to pass a Maybe
RemoteStateHandle into it, and it would otherwise have to construct its
own. Rather than go that route, I decided to send an ERROR in this case.
It seems unlikely that any existing external special remote will be
affected. They would have to make up a git-annex key, and set state for
some reason during INITREMOTE. I can imagine such a hack, but it doesn't
seem worth complicating the code in such an ugly way to support it.

Unfortunately, both TestRemote and Annex.Import needed the Remote
to have a new field added that holds its RemoteStateHandle.
2019-10-14 13:51:42 -04:00
..
Chunk update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ContentIdentifier speed up slow quickcheck test 2019-03-06 16:43:41 -04:00
Difference update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
PreferredContent update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Presence update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SingleValue update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Trust update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Activity.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Chunk.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Config.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ContentIdentifier.hs add RemoteStateHandle 2019-10-14 13:51:42 -04:00
Difference.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Export.hs add back non-preferred files to imported tree 2019-05-20 16:43:52 -04:00
File.hs add back non-preferred files to imported tree 2019-05-20 16:43:52 -04:00
FsckResults.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Group.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Line.hs convert transitions.log to attoparsec and bytestring-builder 2019-01-10 17:13:30 -04:00
Location.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
MapLog.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
MetaData.hs add RemoteStateHandle 2019-10-14 13:51:42 -04:00
Multicast.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
PreferredContent.hs oops, fixed wrong change 2019-05-23 12:44:27 -04:00
Presence.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Remote.hs add sameas inherited configs to newConfig 2019-10-11 13:05:20 -04:00
RemoteState.hs add RemoteStateHandle 2019-10-14 13:51:42 -04:00
Schedule.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SingleValue.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Smudge.hs rename key2file and file2key 2019-01-14 13:03:35 -04:00
Transfer.hs add Key to all ActionItem constructors 2019-06-06 12:53:24 -04:00
Transitions.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Trust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Unused.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
UUID.hs fix init default description reversion 2019-06-20 20:30:24 -04:00
UUIDBased.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
View.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Web.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00