gitolite git clone ssh:// работает, но git clone git:// не работает для нескольких каталогов

У меня есть проблема:

Я мог бы git clone [email protected]:myrepo репозиториев на моем сервере gitolite. После этого я установил git-daemon, чтобы иметь возможность делать то же самое с протоколом git. Теперь я могу git clone git://myserver.com/myrepo только те репозитории, которые не были клонированы по протоколу ssh.
Для других репозиториев я получаю:

Cloning into 'myrepo'...
fatal: The remote end hung up unexpectedly

При этом я не видел этих репозиториев на gitweb, но видел:
usermod -a -G git www-data # где www-data - это пользователь, который хостит apache2
chmod -R 0755 /path/to/my/gitolite/repositories/

И теперь я вижу все репозитории на gitweb.

Я предполагаю, что эти проблемы связаны, но я не могу понять, почему и как.

У меня нет сложной .gitolite.rc конфигурации, я только изменил UMASK from 0077 to 0027

Все репозитории принадлежат пользователю git в группе git.

Если вам нужны какие-либо подробности, просто спросите их :) Любая помощь или предложение приветствуется!


person Attila Horvath    schedule 21.03.2013    source источник
comment
Зачем вам использовать демон git, который не имеет аутентификации и полностью обходит уровень авторизации, которым является gitolite?   -  person VonC    schedule 21.03.2013
comment
Потому что мы блокируем исходящие и входящие запросы git-протокола с помощью брандмауэра, а в нашей внутренней сети мы хотим предоставить свободный доступ всем разработчикам, поэтому им не нужно, чтобы я добавлял их ключ. Также мы используем yocto-project и все наши рецепты, использующие протокол git для загрузки исходников.   -  person Attila Horvath    schedule 21.03.2013
comment
Ok. Я предпочитаю настроить сервер Apache самостоятельно, а не использовать демон git.   -  person VonC    schedule 21.03.2013
comment
Спасибо VonC! Я понимаю вашу точку зрения. Тем временем я нашел решение проблемы.   -  person Attila Horvath    schedule 21.03.2013
comment
Превосходно. Вы можете добавить его как ответ и даже выбрать.   -  person VonC    schedule 21.03.2013


Ответы (1)


Я неправильно настроил git-daemon. В файле /etc/sv/git-daemon/run у меня было -ugitdaemon switch вместо -ugitdaemon:gitolite.

Эта статья привела меня к решению проблемы.

person Attila Horvath    schedule 21.03.2013
comment
хороший улов, я не знаком с параметрами git-daemon. +1 - person VonC; 21.03.2013