试图在gitolite中添加一个新的update.secondary hook到我的repos,现在git push失败了

时间:2011-11-10 22:07:25

标签: githooks gitolite

remote:在钩子/更新行41处调用未定义的子例程& main :: repo_rights。 remote:错误:hook拒绝更新

我已经从我的所有回购中删除了更新挂钩以解决此问题,但我知道它们现在已经开放了。

我跑了gl-setup,我的机器上可能有混合版本的gitolite。我担心我从一个与我目前正在运行的版本不同的版本运行gl-setup。我不知道该怎么说。请帮忙。 : - (

1 个答案:

答案 0 :(得分:0)

更新,对于更新版本的Gitolite(即V3.x或更高版本),官方文档将是:" adding your own update hooks",并使用VREFs (virtual refs)

  

rc块中的%RC文件中添加此行(如果它尚未存在),或者如果它已经存在并注释掉,则取消注释:< / p>

LOCAL_CODE => "$ENV{HOME}/local",
     

将您的更新挂钩复制到此目录下名为VREF的子目录中,为其指定一个合适的名称(让我们说&#34; crlf&#34;):

# 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
     

应该有的每个回购&#34;更新&#34;钩。

     

或者,您可以在gitolite.conf文件末尾添加:

repo @all
    -   VREF/crlf       =   @all
     

无论哪种方式,添加/提交/推送更改为gitolite-admin repo。