首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitolite Hook排除存储库

Gitolite Hook排除存储库
EN

Stack Overflow用户
提问于 2012-07-17 02:11:39
回答 1查看 680关注 0票数 3

我正在添加一个gitolite更新钩子作为VREF,我想知道是否有一种方法可以将它应用到除gitolite-admin之外的所有存储库。

有一种更简单的方法,而不是列出我想要应用钩子的所有存储库,那就太好了。

目前我有:

代码语言:javascript
复制
repo @all
-    VREF/update    =   @all

我正在考虑添加一个例外,上面的一个用于gitolite admin存储库。类似于:

代码语言:javascript
复制
repo gitolite-admin
RW+  VREF/update    =   @all

repo @all
-    VREF/update    =   @all

有没有办法让这样的规则起作用呢?谢谢你的帮助!(我尝试过这种方法,但似乎不起作用)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-17 14:30:42

仅供不太熟悉VREF (随"g3" or Gitolite V3引入)的其他读者使用。

VREF rules背后的想法是:

  • 对于应用于此用户的规则中以VREF/FOO/开头的每个引用,都会触发对名为FOO的程序的调用。请注意,如果VREF规则不适用于该用户,则甚至不会调用该程序。

这就是为什么人们可以定义一个“update”钩子,即使是update hook is reserved by gitolite

一个普通的update钩子需要3个参数(ref,old SHA,new SHA)。

任何VREF都会得到这三个,后面至少还有4个。你的'update‘VREF应该忽略额外的参数。

  • 正在考虑成功(即不会拒绝对存储库执行git操作,因为没有应用VREF )

如果fallthru被认为是“失败的”,你将被迫为你在这个仓库中使用的每个vref添加一个“成功规则”,在每种情况下列出在那个vref的上下文中没有提到的每个用户。

考虑到update VREF程序,您可以添加一个参数,允许您的更新脚本识别它在gitolite-admin上下文中被调用(不应执行任何操作):

代码语言:javascript
复制
repo gitolite-admin
-  VREF/update/donothing    =   @all

repo @all
-  VREF/update    =   @all
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11510046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档