限制可以标记哪些分支

时间:2013-12-17 20:04:33

标签: gerrit

我允许某个用户组在命名空间下创建分支;裁判/头/补丁/ *。

在此处创建新分支时,相同的用户应该有权推送驻留在该分支上的带注释的标记,但不能在其他地方进行。

如何实现这一目标?

我最初(不好)的想法是给这个组赋予/ refs / tags / patch / *“push annotatad tag”权限。但是,当然这只会创建标记必须命名为“patch / tag_name”并且不能解决我的问题的限制。

1 个答案:

答案 0 :(得分:0)

这不是开箱即用的,但我认为你可以写一个ref-update hook来强制实施这样的政策。我假设挂钩被调用所有ref更新,包括标签,但我不完全确定。

在开始之前,请确保您已经找到了如何评估标记的语义。由于标签和提交都不属于或驻留在分支上,因此您必须使用更复杂的条件。也许:“对于这组用户,如果标记可以从一个或多个匹配refs / heads / patch / *的refs到达,那么允许标记,但只有当它也无法从任何其他refs访问时”?我认为这是一个很好的起点,但如果补丁分支已经合并到master,它会阻止指向“在”补丁分支上提交的标记。在您的情况下,这可能是也可能是不可接受的。