репозиторий gitolite создается, но projects.list пуст - PullRequest
5 голосов
/ 22 декабря 2011

Я установил и настроил как gitolite, так и gitweb.gitolite работает нормально, все репозитории и пользователи работают как положено .. но когда я использую gitweb, я вижу 404 - проекты не найдены.я продолжал видеть, что projects.list пуст.Разрешение файла projects.list - 640, а пользователь и группа - это одно и то же «git».

Полагаю, gitolite добавляет новый репозиторий в projects.list, верно?Мой корень проекта - / home / git / repositories.

1 Ответ

5 голосов
/ 22 декабря 2011

Примечание: это было переработано в более новых версиях гитолита; вот соответствующая документация . Вы по-прежнему можете давать разрешения на чтение специальному пользователю "gitweb", как и раньше, и также можете добавлять такие строки в репозитории:

config gitweb.owner         =   owner name
config gitweb.description   =   some description
config gitweb.category      =   some category

Если для репозитория установлен хотя бы один из этих параметров конфигурации, он будет доступен для gitweb.

Как и прежде, «сделанный доступным для gitweb» означает «магически добавленный в projects.list».


Оригинальный ответ:

Gitolite разумно использует самые строгие разрешения - никто не может увидеть хранилище, пока вы не скажете ему разрешить им доступ. Это, конечно, включает в себя gitweb. Чтобы gitweb мог видеть репозиторий, цитируем документацию gitolite.conf :

Точно так же дайте разрешение на чтение gitweb, чтобы позволить GG Gitweb CGI показывать репо. Примерно так:

repo    foo bar baz
    R   =   gitweb

Это дает вам быстрый способ предложить несколько репозиториев для доступа к gitweb и / или демонам.

Однако установка описания для проекта также включает разрешения gitweb, поэтому вы можете делать это таким образом, если хотите. Конечно, в этом случае вам придется иметь дело с каждым репо в отдельности. Добавьте такие строки в gitolite.conf:

foo = "some description"
bar = "some other description"
baz = "yet another description"

Вы также можете указать владельца gitweb для показа, если хотите; например, я мог бы использовать:

gitolite "Sitaram Chamarty" = "fast, secure, fine-grained, access control for git"

Gitolite помещает репозитории только в projects.list, если вы сказали, чтобы они были доступны для gitweb одним из этих способов. Он также будет использовать владельца и описание для заполнения projects.list, поэтому обычно так лучше делать. Обратите внимание, что если ваш веб-сервер работает от имени другого пользователя, нежели Gitolite, вам нужно убедиться, что у него есть доступ к соответствующим каталогам, которые по умолчанию скрыты от других пользователей. Вот несколько примеров документации о более сложных случаях: gitolite-gitweb-http-backend

...