Я не вижу свой проект в gitweb. Как правильно настроить gitweb?

Цель: увидеть мой проект на веб-странице gitweb.

У меня установлен git+gitolite+gitweb. Мой файл gitolite.conf:

repo    gitolite-admin
        RW+     =   ADMINUSER

repo    testing
        RW+     =   @all

repo    PROJECT1
        RW+     =   USER1
        RW+     =   USER2
        R       =   gitweb

Когда я перехожу на http://server/gitweb/gitweb.cgi своего сервера, но единственные проекты, которые я можно увидеть:

  • тестирование.git

На сервере работает гитолит. Файл /home/git/projects.list содержит:

PROJECT1.git

Как сделать так, чтобы PROJECT1 отображался при переходе по URL-адресу gitweb?


person Trevor Boyd Smith    schedule 22.12.2011    source источник
comment
Я думал, что добавление R = gitweb для PROJECT1 заставит PROJECT1 отображаться в списке проектов gitweb... но я все еще вижу только testing.git.   -  person Trevor Boyd Smith    schedule 22.12.2011
comment
Учитывая, что мой гитолит работает, я думаю, что ssh настроен правильно. (У меня установлен gitolite в домашнем каталоге пользователя git.)   -  person Trevor Boyd Smith    schedule 22.12.2011


Ответы (3)


Убедитесь, что в вашем gitweb.conf есть следующие строки.

$projectroot = "/home/git/repositories"; 
$projects_list = "/home/git/projects.list";

измените этот путь на свой. У меня была такая же проблема, потому что у меня нет второй строки. Так что мой репо показывается случайным образом в Интернете.

person HVNSweeting    schedule 17.08.2012

Обычно вам нужно только предоставить доступ для чтения к gitweb: см. указание доступа к gitweb и демону

Чтобы сделать репозиторий или группу репозиториев доступными через "git daemon", просто дайте разрешение на чтение специальному пользователю "daemon".
Аналогичным образом дайте разрешение на чтение gitweb, чтобы gitweb CGI мог показать репозиторий.
Что-то вроде это:

repo    foo bar baz
    R   =   gitweb daemon

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

Вы также можете просто добавить описание к своему проекту, чтобы сделать его видимым:

repo    PROJECT1
        PROJECT1 = "description for PROJECT1"
        RW+     =   USER1
        RW+     =   USER2

В остальном убедитесь, что ваша http://sitaramc.github.com/gitolite/ggshb.html соответствует документация.

person VonC    schedule 22.12.2011
comment
В моей конфигурации gitolite у меня уже есть R = gitweb, но gitweb не показывает PROJECT1. Gitweb показывает PROJECT1 только тогда, когда я даю PROJECT1 R = @all. - person Trevor Boyd Smith; 22.12.2011
comment
@TrevorBoydSmith R = gitweb недостаточно. У вас тоже есть RW+ = USER1? (т.е. другое правило для других пользователей) - person VonC; 22.12.2011
comment
В моем gitolite.conf для PROJECT1 у меня есть RW+ = USER1. - person Trevor Boyd Smith; 22.12.2011
comment
Учитывая, что у меня есть R = gitweb, но gitweb не показывает PROJECT1, не означает ли это, что мой http/apache настроен неправильно? - person Trevor Boyd Smith; 22.12.2011
comment
@TrevorBoydSmith: подозреваю, что да. Время перепроверить sitaramc.github.com/gitolite/ggshb.html. Если каким-то образом идентификация для USER1 неправильно передана в Gitolite, gitweb не отобразит сайт. - person VonC; 22.12.2011
comment
Я посмотрю ссылку на сайт ggshb.html, которую вы дали. Но я запутался, какое отношение USER1 имеет к моей конфигурации gitweb? - person Trevor Boyd Smith; 22.12.2011
comment
@TrevorBoydSmith, потому что R = gitweb предназначен только для списка всех проектов, которые gitweb потенциально может отображать. Но он не будет отображать те, на которые у вас («USER1») нет прав «R». - person VonC; 23.12.2011

У меня была та же проблема, и это оказалось проблемой группового владения. Из-за того, что я ранее использовал доступ по ssh, у меня было групповое владение репозиториями, установленное для внутренней группы разработчиков, а не для git. Однажды я побежал:

chown -R git:git /home/git/repositories

Все репозитории появились с файлом conf, используя:

$projects_list = $projectroot;
person Bruce Edge    schedule 26.12.2013