我需要运行一个脚本,当我的团队成员创建新存储库时,该脚本将生成 projects.list 文件。

我们开发的固件从“master”分支出来,但这些分支永远不会 merge 回 master。由于永远不会有 merge 回来,我决定为每个不同版本的固件制作存储库。我开发了一个 bash 脚本,它将为我创建 projects.list 文件。

find repositories/ -iname "*.git" -type d | grep --invert-match "gitolite-admin" | sed 's/repositories\///g' > /srv/git/projects.list

现在我在创建调用该脚本的钩子(Hook)时遇到了问题。

我曾尝试让 gitolite 为我生成文件,但没有成功。任何帮助表示赞赏。谢谢!

回答

在 config/gitolite.conf 我让 repo def 看起来像这样:
repo    Firmware/[a-zA-Z0-9].*/[a-zA-Z0-9].*
        C       =   @all
        RW+     =   @all
        R = gitweb
        config gitweb.owner = Repo Manager

最佳答案

正如 Gitolite "interfacing with external tools" 中提到的,



因此,除非您让特殊用户 gitweb 可以读取您的 repo,否则 Gitolite 不会为您生成/完成 $HOME/projects.list

关于gitolite 在 'wild' 存储库创建上运行 Hook ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11214264/

10-13 09:01