git-annex/Types
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
..
ActionItem.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
AdjustedBranch.hs adjust --lock: This enters an adjusted branch where files are locked. 2019-09-27 14:23:25 -04:00
Availability.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Backend.hs plumb MeterUpdate into getKey 2019-06-25 11:43:24 -04:00
Benchmark.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
BranchState.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CleanupActions.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Command.hs make WorkerStage an open type 2019-06-19 13:05:03 -04:00
Concurrency.hs run download checksum verification in separate job pool 2019-06-17 14:58:02 -04:00
Creds.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Crypto.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
DeferredParse.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
DesktopNotify.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
Difference.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
Distribution.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Export.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
FileMatcher.hs honor preferred content when importing 2019-05-21 14:38:06 -04:00
GitConfig.hs add remote.<name>.annex-config-uuid 2019-10-10 12:12:22 -04:00
Group.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Key.hs Add BLAKE2BP512 and BLAKE2BP512E backends 2019-07-05 15:30:03 -04:00
KeySource.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LockCache.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Messages.hs get rid of implicitMessages state 2019-06-12 14:01:41 -04:00
MetaData.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Mime.hs Added mimeencoding= term to annex.largefiles expressions. 2019-04-30 12:17:22 -04:00
NumCopies.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RefSpec.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Remote.hs add RemoteStateHandle 2019-10-14 13:51:42 -04:00
RemoteState.hs add RemoteStateHandle 2019-10-14 13:51:42 -04:00
RepoVersion.hs v7 2018-10-25 18:24:23 -04:00
ScheduledActivity.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
StandardGroups.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
StoreRetrieve.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Test.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
Transfer.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TrustLevel.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
UrlContents.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
UUID.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
WorkerPool.hs fix STM deadlock in finishCommandActions 2019-06-19 18:34:26 -04:00