【问题标题】:gitolite repository getting created but projects.list is emptygitolite 存储库已创建,但 projects.list 为空
【发布时间】:2012-01-26 02:52:28
【问题描述】:

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

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

【问题讨论】:

    标签: git gitolite gitweb


    【解决方案1】:

    注意:这已在较新版本的 gitolite 中进行了重新设计;这是the relevant documentation。您仍然可以像以前一样向特殊用户“gitweb”授予读取权限,您还可以在 repos 中添加这样的行:

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

    如果为 repo 设置了这些配置参数中的至少一个,它将被 gitweb 访问。

    和以前一样,“gitweb 可以访问”意味着“神奇地添加到 projects.list”。


    原答案:

    Gitolite 明智地默认为最严格的权限 - 在您告诉它允许之前,没有人可以看到存储库。这当然包括 gitweb。为了让 gitweb 看到一个存储库,引用 gitolite.conf documentation:

    同样,授予 gitweb 读取权限以允许 gitweb CGI 显示 repo。像这样的:

    repo    foo bar baz
        R   =   gitweb
    

    这使您可以快速地为 gitweb 和/或守护进程访问提供多个存储库。

    但是,为项目设置描述也会启用 gitweb 权限,因此您可以根据需要这样做。当然,在这种情况下,您必须分别处理每个 repo。在 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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 2023-03-17
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    相关资源
    最近更新 更多