gitolite存储库已创建,但projects.list为空

时间:2011-12-22 13:08:30

标签: git gitolite gitweb

我安装并配置了gitolite和gitweb。 gitolite工作正常,所有存储库和用户按预期工作..但是当我使用gitweb时,我看到404 - 没有找到任何项目。我继续看到projects.list是空的。 projects.list文件的权限是640,用户和组是相同的“git”。

我猜gitolite还为projects.list添加了一个新的存储库,对吧?我的项目根目录是/ home / git / repositories。

1 个答案:

答案 0 :(得分:5)

注意:这已经在较新版本的gitolite中重新设计;这是the relevant documentation。你仍然可以像以前一样为特殊用户“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 documentation

  

同样,给予gitweb读取权限以允许gitweb CGI显示回购。像这样:

repo    foo bar baz
    R   =   gitweb
     

这为您提供了一种为gitweb和/或守护程序访问提供多个repos的快速方法。

     

但是,为项目设置描述也会启用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通过其中一种方法将它们提供给gitweb,那么Gitolite只会在projects.list中放置存储库。它还将使用所有者和描述来填充projects.list,因此通常最好这样做。请注意,如果您的Web服务器以与Gitolite不同的用户身份运行,您需要确保它以某种方式访问​​相关目录,默认情况下这些目录对其他用户是隐藏的。有一些关于更复杂案例的示例文档:gitolite-gitweb-http-backend