gitolite仓库已创建但projects.list为空

5

我已经安装并配置了gitolite和gitweb。gitolite正常工作,所有仓库和用户都按预期工作。但是当我使用gitweb时,我看到404 - 找不到项目。我继续查看发现projects.list文件为空。projects.list文件的权限为640,用户和组都是相同的“git”。

我猜测gitolite也会向projects.list添加新的存储库,对吗?我的项目根目录是/home/git/repositories。

1个回答

5
注意:在新版本的gitolite中已经进行了改进;这里是相关文档。您仍然可以像以前一样为特殊用户“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 文档:

Similarly, give read permission to gitweb to allow the gitweb CGI to show the repo. Something like this:

repo    foo bar baz
    R   =   gitweb

This gives you a quick way to offer multiple repos up for gitweb and/or daemon access.

However, setting a description for the project also enables gitweb permissions so you can do it that way if you want. Of course in this case you have to deal with each repo separately. Add lines like this to gitolite.conf:

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

You can also specify an owner for gitweb to show, if you like; for example I might use:

gitolite "Sitaram Chamarty" = "fast, secure, fine-grained, access control for git"
Gitolite 只有在通过其中一种方法告诉它通过 gitweb 提供存储库时,才会将存储库放置在 projects.list 中。它还将使用所有者和说明来填充 projects.list,因此通常最好以此方式执行。请注意,如果您的 Web 服务器正在以不同于 Gitolite 的用户身份运行,则需要确保它以某种方式访问相关目录,默认情况下其他用户无法看到这些目录。有关更复杂情况的示例文档,请参见:gitolite-gitweb-http-backend

很好的回答,但是你的链接已经失效了。新链接:http://gitolite.googlecode.com/git-history/df885e5989d3ae9644d4c6b02b627e74afef7b7c/doc/gitolite-gitweb-http-backend.mkd - Mark E. Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接