我加入一个gitolite更新钩为VREF,并想知道是否有将它应用到所有存储库除了gitolite管理员一个办法。
有一个简单的方法,而不是列出所有存储库我想申请的将是巨大的钩子。
目前,我有:
repo @all
- VREF/update = @all
我想上面添加一个用于gitolite管理员库中的异常。 就像是:
repo gitolite-admin
RW+ VREF/update = @all
repo @all
- VREF/update = @all
有没有办法让这样一个规则来工作? 谢谢您的帮助! (我试过这样的,它似乎没有工作)
只是不太熟悉其他读者VREF
(引入了“G3”,或者Gitolite V3 )。
背后的想法VREF规则是:
- 对于每一个refex开始
VREF/FOO/
于适用于该用户的规则,在程序调用的调用FOO
被触发。 请注意,如果程序没有甚至被称为VREF
规则并不适用于该用户。
这就是为什么我们可以定义一个“ update
,即使”钩update
钩子被gitolite保留 。
一个正常的update
钩预计3个参数(参考文献,旧SHA,新SHA)。
任何VREF将获得这三个,后面至少4个。 你的“ update
” VREF应该只是忽略额外的参数。
- fallthru正在考虑成功(即你不会在回购否认了混帐操作,因为应用没有VREF的)
如果fallthru将被认为是“失败”,你会不得不增加一个“成功法则”像这样对每个VREF你在这个回购使用,在每种情况下上市谁是不是已经在VREF的上下文中提及的每个用户
考虑到update
VREF程序,您可以添加一个参数,这样可以让你的更新脚本来识别它是在叫做gitolite-admin
上下文(和应该什么都不做):
repo gitolite-admin
- VREF/update/donothing = @all
repo @all
- VREF/update = @all