2013-12-17 66 views
0

我已经允许某个用户组在命名空间下创建分支;裁判/头/补丁/ *。限制可以标记哪些分支

当在此处创建新分支时,同一用户应该有权推送驻留在该分支上但不在别处的带注释标签。

这是如何实现的?

我最初的(坏)想法是为这个组赋予/ refs/tags/patch/*的“推注annotatad标签”权限。但是,这当然只会产生限制,即标签必须命名为“patch/tag_name”,并且不能解决我的问题。

回答

0

这是不可能的,但我认为你可以写一个ref-update hook执行这样的政策。我假设所有裁判更新都包含标签,但我并不完全确定这一点。

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

相关问题