2

我一遍又一遍地阅读了大量的 gitolite 文档。这是我的配置:

Git 用户运行 gitolite,而我作为另一个用户安装了 Gitolite,该用户具有 root 权限。我使用 gl-system-install 方法安装。

现在,我看到了 hooks/common 目录的两个副本,/usr/local/share/gitolite/hooks/common并且/home/git/.gitolite/(我打算使用第一个副本来实现系统范围的实现)

gitolite-source位于/home/user/gitolite-source

我在/home/user/gitolite-source/hooks/common/目录中放入了一些虚拟挂钩(post-udpate、post-update.secondary、post-receive 和 post-commit)。所有这些都设置了 exec 位。

如果我在此目录中编辑更新挂钩并再次重新运行设置,则较新的更新挂钩(在现有存储库中)将符号链接到/usr/local/share/gitolite/hooks/common.

但是,即使 source/hooks/common 目录中的任何较新的挂钩都被复制到两个挂钩位置,较新的符号链接也不会出现在我现有的存储库中。

简而言之:gitolite 复制了自己的钩子,但忽略了我的。

知道为什么吗?

4

1 回答 1

1

我自己想出了答案。

我一遍又一遍地重新运行gl-system-setup,希望在每个存储库下为我创建那些符号链接,而它是gl-setup。

但是重新运行 gl-setup 也不起作用。(它给出了奇怪的解析错误)。所以我决定只删除所有 gitolite-hooked sentinel 文件,并将更新推送到 gitolite-admin repo,如果找不到 gitolite-hooked 文件,它将复制挂钩。

于 2011-04-14T03:54:57.827 回答