Commit graph

35663 commits

Author SHA1 Message Date
Joey Hess
5e9a2cc37f
forget state of sameas remotes during DropDead transitions
It would have been a lot less round-about to just make git annex dead
also add the uuids of sameas remotes to the trust.log as dead.

But, that would fail in the case where there's an unmerged other clone
that has a sameas remote that the current repo does not know about.
Then it would not get marked as dead.

Handling it at transition time avoids that scenario.

Note that the generation of trustmap' in dropDead should only
happen once, due to the partial application.
2019-10-14 15:47:42 -04:00
nrg@bd619d1ebf16e6324c546adea8be8fe1cc2b4325
a3fdc23828 2019-10-14 19:14:02 +00:00
strmd
d671481ed7 Added a comment: A new user chiming in 2019-10-14 18:23:59 +00:00
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
yarikoptic
25e78d5f22 initial complaint that cannot use --duplicate and --reinject-duplicates 2019-10-14 14:56:19 +00:00
https://tribut.de/
5f36424eaa Added a comment 2019-10-14 09:33:34 +00:00
TroisSinges
6dd6f3ccf2 2019-10-14 09:25:18 +00:00
Ilya_Shlyakhter
52b0a6530d Added a comment: getting v5 semantics 2019-10-14 03:42:05 +00:00
amindfv@6f75355c5dad3450ed73d1f01715be90dfdd6cd6
7a950e3088 Added a comment 2019-10-14 00:20:25 +00:00
TroisSinges
bc4a194c6d Added a comment 2019-10-13 23:59:23 +00:00
TroisSinges
302e43f852 2019-10-13 23:55:20 +00:00
Lukey
3b86bfdb79 Added a comment: v5 mode 2019-10-12 21:48:57 +00:00
Ilya_Shlyakhter
8348e7534d Added a comment: experience with v7 semantics 2019-10-12 21:39:03 +00:00
amindfv@6f75355c5dad3450ed73d1f01715be90dfdd6cd6
c85165ece5 Added a comment 2019-10-12 21:12:52 +00:00
Joey Hess
ddcc57bd9a
Merge branch 'master' of ssh://git-annex.branchable.com 2019-10-11 16:09:06 -04:00
Joey Hess
3fad5e8c7c
devblog 2019-10-11 16:08:55 -04:00
Joey Hess
37f0abbca8
looked over all my old comments, current status of all concerns 2019-10-11 16:06:42 -04:00
Joey Hess
37f725a9f7
Merge branch 'master' into sameas 2019-10-11 15:56:00 -04:00
Joey Hess
debafcba2b
autoenable sameas remotes 2019-10-11 15:52:40 -04:00
Joey Hess
ec778888d2
got enableremote working for sameas
Also the assistant can enable sameas remotes, should work, but not
tested.
2019-10-11 15:11:08 -04:00
Joey Hess
35d7ffe128
initremote --sameas fully working
And using sameas remotes is working.

Moved annex-config-uuid setting out of Remote.Helper.Special.
EnableRemote will also have to set it.
2019-10-11 14:19:10 -04:00
Joey Hess
c0e88b7695
sameas documentation 2019-10-11 14:04:58 -04:00
Joey Hess
1b9c1d1737
fix sameas inherited key removal 2019-10-11 13:18:27 -04:00
Joey Hess
8d7dc76dff
fix bad paste of field name 2019-10-11 13:05:25 -04:00
Joey Hess
91eed85fd4
add sameas inherited configs to newConfig
This makes initremote --sameas work with encryption inherited.
2019-10-11 13:05:20 -04:00
Ilya_Shlyakhter
8432c3912f Added a comment: preventing inadvertently adding annexed files in unlocked form 2019-10-11 16:38:07 +00:00
Joey Hess
2bd6e81bb0
support annex-config-uuid when generating remote
This is used by a special remote with sameas-uuid=
The remote's uuid is the sameas-uuid, but it needs to get
its RemoteConfig from the annex-config-uuid.
2019-10-11 12:34:11 -04:00
Ilya_Shlyakhter
599d438fa6 Added a comment 2019-10-11 16:23:08 +00:00
Joey Hess
cb08cb0052
Merge branch 'master' of ssh://git-annex.branchable.com 2019-10-10 16:18:46 -04:00
Joey Hess
2d5cce6763
devblog 2019-10-10 16:17:45 -04:00
Joey Hess
0dd5691951
update notes 2019-10-10 16:12:59 -04:00
Joey Hess
df5b0ffab3
inherit other fields
I think this is all that need to be inherited.
2019-10-10 16:11:21 -04:00
Joey Hess
c3975ff3b4
sameas RemoteConfig inheritance
I found a way to avoid inheritance complicating anything outside of
Logs.Remote. It seems fine to require all inherited values to be
inherited and not set in the sameas remote's config. Since inherited
values will be used for stuff like encryption and perhaps chunking, which
control the actual content stored on the remote, it seems likely that
there will not be any reason to need them to vary between two remotes
that access the same underlying data store.

The newer version of containers is free; the minimum ghc version is
bundled with a newer version than that.
2019-10-10 15:58:22 -04:00
Joey Hess
59908586f4
rename RemoteConfigKey to RemoteConfigField
And some associated renames.
I was going to have some values named fooKeyKey otherwise..
2019-10-10 15:44:05 -04:00
Ilya_Shlyakhter
a08e5e2fa8 Added a comment: separate annex.git-add.largefiles and annex.git-annex-add.largefiles settings 2019-10-10 18:33:50 +00:00
Ilya_Shlyakhter
159ba92ea1 added todo for separate annex.largefiles.git-add and annex.largefiles.git-annex-add settings 2019-10-10 18:29:03 +00:00
Joey Hess
d1130ea04a
get rid of hardcoded "name" lookups
Support "sameas-name" being set instead.

In RenameRemote, rename which ever of the two is set.
2019-10-10 13:25:10 -04:00
Joey Hess
92ff30df70
set annex-config-uuid when RemoteConfig contains a sameas-uuid
Initremote sets that, so after both initremote and enableremote,
the git config will be set.

Any remote that does not use Annex.SpecialRemote won't set
annex-config-uuid. But that's only Remote.Git, which doesn't use
RemoteConfig anyway.
2019-10-10 12:58:59 -04:00
Joey Hess
46071a2435
use storeUUIDIn 2019-10-10 12:38:17 -04:00
Joey Hess
97b499a4dc
use sameas-name and sameas-uuid for sameas remotes
initremote --sameas=remotename sets sameas-name and sameas-uuid

Using sameas-name rather than name prevents old git-annex initremote
from enabling a sameas remote by name, since it would not handle it
correctly.
2019-10-10 12:32:05 -04:00
Joey Hess
17afefd63f
add remote.<name>.annex-config-uuid
for use by sameas remotes
2019-10-10 12:12:22 -04:00
Joey Hess
06c04ffe29
use storeUUIDIn 2019-10-10 12:12:09 -04:00
Joey Hess
d9938b97c6
thought 2019-10-10 12:06:37 -04:00
jason.dixon.email@aa0e536a2ec2877d6f666108dbbc6e39bbe87ac0
7e692864de Added a comment: wanted content commands 2019-10-10 08:16:59 +00:00
bugmenot
838465ac63 Added a comment: --link accepts itself 2019-10-10 05:28:53 +00:00
yarikoptic
d4323006d4 Added a comment 2019-10-09 18:10:05 +00:00
yarikoptic
5a68b00f72 initial description of an attempt to establish git-lfs powered github remote from assitant on android phone 2019-10-09 18:04:23 +00:00
yarikoptic
79325b3e66 initial report about missing url= for git-lfs remote 2019-10-09 17:44:14 +00:00
Joey Hess
212abec4b2
add news item for git-annex 7.20191009 2019-10-09 12:33:30 -04:00
Joey Hess
8131451c35
releasing package git-annex version 7.20191009 2019-10-09 12:33:09 -04:00