远程:未定义的子例程 &main::repo_rights 在钩子/更新第 41 行调用。远程:错误:钩子拒绝更新
为了解决这个问题,我已经从我的所有存储库中删除了更新挂钩,但我知道它们现在已经完全开放。
我运行了 gl-setup,我的机器上可能有混合版本的 gitolite。恐怕我运行 gl-setup 的版本与我当前运行的版本不同。我不知道该怎么说。请帮忙。:-(
更新,对于 Gitolite 的更新版本(即 V3.x 或更高版本),官方文档将是:“添加您自己的更新挂钩”,它使用VREFs(虚拟引用)。
如果它不存在,则将此行添加到
rc
文件中的%RC
块中,或者如果它已经存在并被注释掉,则取消注释:LOCAL_CODE => "$ENV{HOME}/local",
将你的更新钩子复制到
VREF
这个目录下的一个子目录,给它一个合适的名字(比如说“crlf
”):# log on to gitolite hosting user on the server, then: cd $HOME mkdir -p local/VREF cp your-crlf-update-hook local/VREF/crlf chmod +x local/VREF/crlf
在您的
gitolite-admin
克隆中,编辑conf/gitolite.conf
并添加如下行:- VREF/crlf = @all
到每个应该有那个“更新”钩子的仓库。
或者,您可以简单地将其添加到
gitolite.conf
文件末尾:repo @all - VREF/crlf = @all
无论哪种方式,将更改添加/提交/推送到 gitolite-admin 存储库。