Estou tentando usar o pacote apt git-remote-gcrypt
git-remote-gcrypt (1.0)
Ubuntu 16.04LTS
A documentação explica como inicializar um repositório remoto:
Create an encrypted remote by pushing to it:
git remote add cryptremote gcrypt::rsync://example.com:repo
git push cryptremote master
> gcrypt: Setting up new repository
> gcrypt: Remote ID is :id:7VigUnLVYVtZx8oir34R
> [ more lines .. ]
> To gcrypt::[...]
> * [new branch] master -> master
O primeiro push deve criar o repositório. (Diferente do normal git
onde git clone --bare ...
é usado).
Quando eu tento recebo os seguintes erros:
>>>> mkdir -p /media/backup-media/git-repos/crypt
>>>> git remote add crypt gcrypt::local/media/backup-media/git-repos/crypt/test-proj.git.d
>>>> git remote -v
crypt gcrypt::local/media/backup-media/git-repos/crypt/test-proj.git.d (fetch)
crypt gcrypt::local/media/backup-media/git-repos/crypt/test-proj.git.d (push)
>>>> git push crypt master
gcrypt: Development version -- Repository format MAY CHANGE
gcrypt: WARNING: 'git-remote-gcrypt@local' matches multiple fingerprints, using one
gcrypt: Repository not found: local/media/backup-media/git-repos/crypt/test-proj.git.d
gcrypt: Setting up new repository
gcrypt: Remote ID is :id:oFX2zVIrF4dc4b8CfG9L
Counting objects: 6, done.
Compressing objects: 100% (6/6), done.
Total 6 (delta 0), reused 0 (delta 0)
gcrypt: Encrypting to: -R 3A05EA7C97EAA336
gcrypt: Requesting manifest signature
fatal: 'local/media/backup-media/git-repos/crypt/test-proj.git.d' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
error: failed to push some refs to 'gcrypt::local/media/backup-media/git-repos/crypt/test-proj.git.d'
Process shell exited abnormally with code 1
De fato, a pasta media/backup-media/git-repos/crypt/test-proj.git.d
nunca foi criada.
Não há nenhum problema com os direitos de acesso ao sistema de arquivos. Como segue, um repositório simples pode ser criado sem problemas:
>>>> mkdir -p /media/backup-media/git-repos/plain
>>>> git remote add plain /media/backup-media/git-repos/plain/test-proj.git.d
>>>> git remote -v
plain /media/backup-media/git-repos/plain/test-proj.git.d (fetch)
plain /media/backup-media/git-repos/plain/test-proj.git.d (push)
>>>> git clone --bare . /media/backup-media/git-repos/plain/test-proj.git.d
Cloning into bare repository '/media/backup-media/git-repos/plain/test-proj.git.d'...
done.
>>>> git push plain master
Everything up-to-date