gitweb; 隐藏特定的仓库

3

你好,我最近为我的项目设置了一个Git服务器,它运行得很好。

我安装了GitWeb,也正常运行。

但是,我似乎无法控制显示哪些仓库;具体来说,我不希望显示gitosis-admin.git。

在gitosis.conf文件中,我已经设置了以下内容:

/home/git/repositories/gitosis-admin.git/gitosis.conf
[gitosis]
gitweb = yes

[repo gitosis-admin]
gitweb = no

[group gitosis-admin]
writable = gitosis-admin
members = 111111@devbox

我原本希望这能够禁用Web UI显示.git文件。我的gitweb.conf配置如下:/etc/gitweb.conf。
# path to git projects (<project>.git)
$projectroot = "/home/git/repositories";
# directory to use for temp files
$git_temp = "/tmp";
# target of the home link on top of all pages
#$home_link = $my_uri || "/";
# html text to include at home page
$home_text = "indextext.html";
# file with project list; by default, simply scan the projectroot dir.
$projects_list = $projectroot;
# stylesheet to use
$stylesheet = "gitweb.css";
# javascript code for gitweb
$javascript = "gitweb.js";

我真的不确定如何禁止显示这些信息。谢谢。
1个回答

4
你可以将$projects_list设置为指向包含存储库和所有者列表的文件(有关更多信息,请参见gitweb INSTALL 文件,请注意,除非你设置了$strict_export,否则这些仍然是可访问的),或者你可以设置$strict_export并将$export_ok设置为应该存在于存储库的.git目录中的文件名,如果你想让它可以访问。

感谢您的回复。如果不是用来控制是否显示文件,那么gitosis文件中的gitweb = no | yes行的目的是什么?此外,我很困惑,我无法找到$project_list文件应该采用的格式,我尝试将其指向gitosis-admin.conf,但这只是破坏了gitweb(404)。安装脚本似乎也没有帮助我太多。再次感谢。 - 111111
@111111:gitosis 应该根据配置文件中的 gitweb = yes 设置生成项目列表文件(指定的文件),因此只需将其设置为可写文件并重新运行 gitosis 即可。有关更多信息,请参见 gitosis README - Hasturkun
好的,现在文件已经存在了(它一直存在,是我的错),但是它是空的,我已经将gitweb $project_list指向它了。你说我需要gitosis,但是我的机器上没有叫做gitosis的程序(gitosis-init、gitosis-run-hook、gitosos-serve)。这些自述文件让我困惑不解,它们没有告诉我如何重新运行gitosis。谢谢。 - 111111
@111111:抱歉,我以前没有使用过gitosis,但是显然需要通过提交更改到gitosis.conf并推送来运行它,所以如果你这样做应该可以工作。 - Hasturkun
谢谢,最终我搞定了。我原本以为需要做更多的手动工作,而且gitweb的错误报告可能不如它本应该的那样好。这些加上非常疲惫让我感到很困惑。基本上,当我将gitweb指向project.list时,它给了我一个404错误,这实际上是正确的。我没有尝试过的是启用现有仓库的Web访问,如果我这样做了,它就会显示出来。感谢您的所有帮助。 - 111111

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