git-annex/doc/bugs/gcrypt_repository_not_found.mdwn

80 lines
4 KiB
Text
Raw Normal View History

### Please describe the problem.
I seem to be incapable of creating an encrypted git-annex repository with the instructions provided at [[tips/fully_encrypted_git_repositories_with_gcrypt/]]. The setup step fails with *gcrypt: Repository not found: (path-to-repo)*.
### What steps will reproduce the problem?
I *think* I naively followed the tips page, but I might be wrong. Here's the minimal reproducer I could find, but originally the problem occured with an SSH remote which I thought was the culprit.
git init a
git init --bare b
cd a
git annex init
echo > foo
git annex add foo
git commit -m'test repo'
git annex initremote encrypted type=gcrypt gitrepo=~/tmp/b keyid=8DC901CE64146C048AD50FBB792152527B75921E
### What version of git-annex are you using? On what operating system?
This is Debian stretch with backports, so git-annex is actually from backports (6.20180509-1~bpo9+1):
2018-05-17 17:39:35 +00:00
git-annex version: 6.20180509
build flags: Assistant Webapp Pairing S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify ConcurrentOutput TorrentParser MagicMime Feeds Testsuite
dependency versions: aws-0.14.1 bloomfilter-2.0.1.0 cryptonite-0.20 DAV-1.3.1 feed-0.3.11.1 ghc-8.0.1 http-client-0.4.31.1 persistent-sqlite-2.6 torrent-10000.0.0 uuid-1.3.12 yesod-1.4.3
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar hook external
local repository version: unknown
supported repository versions: 3 5 6
upgrade supported from repository versions: 0 1 2 3 4 5
operating system: linux x86_64
2018-05-17 17:39:35 +00:00
git-remote-gcrypt is the vanilla version from stretch (1.0.1-1) but the bug can be reproduced with the 1.1 version from sid.
### Please provide any additional information below.
[[!format sh """
2018-05-17 17:39:35 +00:00
[18]anarcat@curie:tmp$ git init a
Dépôt Git vide initialisé dans /home/anarcat/dist/tmp/a/.git/
[19]anarcat@curie:tmp$ git init --bare b
Dépôt Git vide initialisé dans /home/anarcat/dist/tmp/b/
[20]anarcat@curie:tmp$ cd a
/home/anarcat/dist/tmp/a
[21]anarcat@curie:a$ git annex init
init ok
(recording state in git...)
[22]anarcat@curie:a$ echo > foo
[23]anarcat@curie:a$ git annex add foo
add foo ok
(recording state in git...)
[24]anarcat@curie:a$ git commit -m'test repo'
[master (commit racine) f759ebe] test repo
1 file changed, 1 insertion(+)
create mode 120000 foo
[25]anarcat@curie:a$ git annex initremote encrypted type=gcrypt gitrepo=~/tmp/b keyid=8DC901CE64146C048AD50FBB792152527B75921E
initremote encrypted (encryption setup) (to gpg keys: 792152527B75921E) gcrypt: Repository not found: /home/anarcat/tmp/b
gcrypt: Repository not found: /home/anarcat/tmp/b
fatal: helper gcrypt does not support --signed=if-asked
git-annex: unable to determine gcrypt-id of remote
"""]]
Note that this failure leaves the repository with an half-configured remote. Trying to rerun the setup gives this error:
git-annex: There is already a remote named "encrypted"
Removing the remote seems to be sufficient to restore a working state and try again:
git remote rm encrypted
I also note that the `encryption step` part takes a looong time when we try to reproduce the issue multiple time... I will report this in a separate issue.
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Of course! As you very likely know, I use git-annex daily and I'm a really happy user. :) This is, however, the first time I give gcrypt a shot.
Thanks for your hard work! --[[anarcat]]
2018-05-22 20:56:32 +00:00
Update: turns out this is a bug in git-remote-gcrypt and this probably doesn't need to be tracked in git-annex. the workaround is to comment out the `push.sign=ifAsked` entry in the git config, or to make git-remote-gcrypt ignore unknown options. so [[done]]. --[[anarcat]]