Я пытаюсь использовать apt-пакет git-remote-gcrypt
git-remote-gcrypt (1.0) Ubuntu 16.04LTS
В документации объясняется, как инициализировать дистанционное репо:
Создайте зашифрованный пульт, нажав на него: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
Предполагается, что первое нажатие создаст репозиторий. (В отличие от обычного git, где используется git clone --bare ...).
Когда я пытаюсь получить следующие ошибки:
>>>> 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
Действительно, папка media/backup-media/git-repos/crypt/test-proj.git.d никогда не создавалась .
Нет проблем с правами доступа к файловой системе. Как показано ниже, простой репо может быть создан без проблем:
>>>> 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