Проблемы с разрешением Git, но где? - PullRequest
0 голосов
/ 06 декабря 2018

Я установил базовый контейнер докера с помощью git.По какой-то причине я получаю следующую ошибку

remote: error: insufficient permission for adding an object to repository database /git-server/repos/ansible.git/./objects/incoming-JPCnWj
remote: fatal: failed to write object
error: remote unpack failed: unpack-objects abnormal exit
To ssh://nas.:2222/git-server/repos/ansible.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'ssh://git@nas.:2222/git-server/repos/ansible.git'

Теперь я просмотрел множество веб-сайтов перед публикацией, так что вот мои настройки.

  1. Я нажимал наGitHub прежде, чем я попытался отправить на свой NAS (контейнер докера)
  2. Я удалил все ссылки на источник (Github) и добавил вместо этого свой NAS.

    $ git remote -v origin ssh://git@nas.:2222/git-server/repos/ansible.git (выборка) origin ssh: // git @ nas.: 2222 / git-server / repos / ansible.git (push)

Я проверил разрешение на клиенте

$ ls -lFa .git
total 56
drwxrwxr-x.  8 jdoe jdoe 4096 Dec  6 10:19 ./
drwxrwxr-x.  8 jdoe jdoe 4096 Dec  5 10:52 ../
-rw-rw-r--.  1 jdoe jdoe   35 Dec  4 11:47 COMMIT_EDITMSG
-rw-rw-r--.  1 jdoe jdoe   23 Dec  4 11:01 HEAD
drwxrwxr-x.  2 jdoe jdoe 4096 Dec  4 11:00 branches/
-rw-rw-r--.  1 jdoe jdoe  222 Dec  6 10:19 config
-rw-rw-r--.  1 jdoe jdoe   73 Dec  4 11:00 description
drwxrwxr-x.  2 jdoe jdoe 4096 Dec  4 11:00 hooks/
-rw-rw-r--.  1 jdoe jdoe 1703 Dec  4 11:47 index
drwxrwxr-x.  2 jdoe jdoe 4096 Dec  4 11:00 info/
drwxrwxr-x.  3 jdoe jdoe 4096 Dec  4 11:01 logs/
drwxrwxr-x. 75 jdoe jdoe 4096 Dec  4 11:47 objects/
-rw-rw-r--.  1 jdoe jdoe   46 Dec  5 18:41 packed-refs
drwxrwxr-x.  5 jdoe jdoe 4096 Dec  4 11:01 refs/

И на сервере (контейнере)

$ ls -lFa
total 36
drwxr-xr-x 1 git users 1344 Dec  6 09:16 ./
drwxr-x--- 1 git users  168 Dec  6 09:16 ../
-rw-r--r-- 1 git users   23 Dec  6 09:16 HEAD
drwxr-xr-x 1 git users    0 Dec  6 09:16 branches/
-rw-r--r-- 1 git users   66 Dec  6 09:16 config
-rw-r--r-- 1 git users   73 Dec  6 09:16 description
drwxr-xr-x 1 git users 2000 Dec  6 09:16 hooks/
drwxr-xr-x 1 git users  168 Dec  6 09:16 info/
drwxr-xr-x 1 git users  504 Dec  6 09:29 objects/
drwxr-xr-x 1 git users  336 Dec  6 09:16 refs/

И пользователь на сервере действительно git

$ id git
uid=1027(git) gid=100(users) groups=100(users)

Git uid равен 1027, поэтому он соответствует пользователю на NAS и не вызывает проблем с разрешениями.

Я единственный, кто использует git-сервер.Я пытаюсь нажать код с помощью следующей команды (с помощью клавиши ssh)

$ git push --mirror ssh://git@nas.:2222/git-server/repos/ansible.git

По совету Торека я добавляю git trace, но это не помогает.Из того, что я могу сказать, просто более многословно говорить, что мое разрешение неверно?!?

$ GIT_TRACE=2 GIT_TRACE_PACK_ACCESS=2 GIT_TRACE_PACKET=2 GIT_TRACE_SETUP=2 git push -v origin master
12:32:30.762269 trace.c:318             setup: git_dir: .git
12:32:30.762371 trace.c:319             setup: git_common_dir: .git
12:32:30.762388 trace.c:320             setup: worktree: /home/jdoe/Developement/ansible/ansible
12:32:30.762398 trace.c:321             setup: cwd: /home/jdoe/Developement/ansible/ansible
12:32:30.762416 trace.c:322             setup: prefix: (null)
12:32:30.762433 git.c:415               trace: built-in: git push -v origin master
Pushing to ssh://git@nas:2222/git-server/repos/ansible.git
12:32:30.763365 run-command.c:643       trace: run_command: unset GIT_PREFIX; ssh -p 2222 git@nas 'git-receive-pack '\''/git-server/repos/ansible.git'\'''
12:32:30.916274 pkt-line.c:80           packet:         push< 0000000000000000000000000000000000000000 capabilities^{}\0report-status delete-refs side-band-64k quiet atomic ofs-delta agent=git/2.11.0
12:32:30.916346 pkt-line.c:80           packet:         push< 0000
12:32:30.916444 pkt-line.c:80           packet:         push> 0000000000000000000000000000000000000000 02be3c652232a8075f1ea6dc49b5e3feb2b80e0b refs/heads/master\0 report-status side-band-64k agent=git/2.19.2
12:32:30.916466 pkt-line.c:80           packet:         push> 0000
12:32:30.916604 run-command.c:643       trace: run_command: git pack-objects --all-progress-implied --revs --stdout --thin --delta-base-offset --progress
12:32:30.918739 trace.c:318             setup: git_dir: .git
12:32:30.918784 trace.c:319             setup: git_common_dir: .git
12:32:30.918791 trace.c:320             setup: worktree: /home/jdoe/Developement/ansible/ansible
12:32:30.918796 trace.c:321             setup: cwd: /home/jdoe/Developement/ansible/ansible
12:32:30.918801 trace.c:322             setup: prefix: (null)
12:32:30.918806 git.c:415               trace: built-in: git pack-objects --all-progress-implied --revs --stdout --thin --delta-base-offset --progress
Enumerating objects: 90, done.
Counting objects: 100% (90/90), done.
Delta compression using up to 4 threads
Compressing objects: 100% (83/83), done.
Writing objects: 100% (90/90), 15.87 KiB | 3.17 MiB/s, done.
Total 90 (delta 30), reused 0 (delta 0)
12:32:30.950405 pkt-line.c:80           packet:     sideband< \2error: insufficient permission for adding an object to repository database /git-server/repos/ansible.git/./objects/incoming-
12:32:30.950448 pkt-line.c:80           packet:     sideband< \2LKk1Fxfatal: failed to write object
remote: error: insufficient permission for adding an object to repository database /git-server/repos/ansible.git/./objects/incoming-LKk1Fx
remote: fatal: failed to write object
12:32:30.950474 pkt-line.c:80           packet:     sideband< \10028unpack unpack-objects abnormal exit0028ng refs/heads/master unpacker error0000
12:32:30.950515 pkt-line.c:80           packet:         push< unpack unpack-objects abnormal exit
error: remote unpack failed: unpack-objects abnormal exit
12:32:30.950571 pkt-line.c:80           packet:         push< ng refs/heads/master unpacker error
12:32:30.950584 pkt-line.c:80           packet:         push< 0000
12:32:30.952843 pkt-line.c:80           packet:     sideband< 0000
To ssh://nas:2222/git-server/repos/ansible.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'ssh://git@nas:2222/git-server/repos/ansible.git'

Что я делаю не так?Я думаю, что это что-то легкое, но я слишком долго этим занимался.У меня есть туннельное зрение.;)

Любая помощь приветствуется.

Спасибо.Ed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...