Long day, but I did finally finish up with gcrypt support. More or less.
Got both creating and enabling existing gcrypt repositories on ssh servers working in the webapp. (But I ran out of time to make it detect when the user is manually entering a gcrypt repo that already exists. Should be easy so maybe tomorrow.)
Fixed several bugs in git-annex's gcrypt support that turned up in testing.
Made git-annex ensure that a gcrypt repository does not have
receive.denyNonFastForwards set, because gcrypt relies on always forcing
the push of the branch it stores its manifest on. Fixed a bug in
git-annex-shell recvkey
when it was receiving a file from an annex in
direct mode.
Also had to add a new git annex shell gcryptsetup
command, which is
needed to make setting up a gcrypt repository work when the assistant
has set up a locked-down ssh key that can only run git-annex-shell. Painted
myself into a bit of a corner there.
And tested, tested, tested. So many possibilities and edge cases in this part of the code..
Today's work was sponsored by Hendrik Müller Hofstede.