gcrypt: Support re-enabling to change eg, encryption parameters.

This was never supported before. And it doesn't re-encrypt the
gcrypt repo to the new gcrypt-participants, but it does at least now not
crash, and set gcrypt-participants.

This commit was sponsored by andrea rota.
This commit is contained in:
Joey Hess 2017-04-07 14:10:21 -04:00
parent 99984967eb
commit 57e923b712
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 44 additions and 8 deletions

View file

@ -116,3 +116,5 @@ Yes, definitively. I enjoy using annex to backup and manage my data. I would lov
Thanks
Jörn
> [[fixed|done]] --[[Joey]]

View file

@ -0,0 +1,26 @@
[[!comment format=mdwn
username="joey"
subject="""comment 2"""
date="2017-04-07T16:58:42Z"
content="""
Huh, so it seems that for gcrypt remotes, enableremote just doesn't
call their setup function at all!
Ah, it's because it sees the remote has an url, so it is not treated
as a special remote, but as a regular git remote, and so the
special remote encryption changes are ignored. (Since 6.20160527)
So, enableremote needs to fail when it thinks it's enabling a regular git
remote and has been passed some parameters which cannot apply to such a
remote. Done.
And, enableremote needs fixed to treat existing gcrypt remotes as special
remotes. Done.
Also, gcrypt special remotes didn't actually support being re-enabled
either. I made that work. When an encryption key is added, that
automatically makes it change the gcrypt-participants, too.
I suppose enableremote could even be made to do the `GCRYPT_FULL_REPACK`
and forced push, but that seems like too much for it to do!
"""]]