我想配置一个存储库供每个开发人员访问,但某个特定文件只能由某些用户修改。
RWCD = @developer
RW+ refs/tags = @developer
RW+ VREF/NAME/version.properties = @versionPropertyModifier
- VREF/NAME/version.properties = @all
这很好但有一个问题: 当任何不是@versionPropertyModifier组成员的开发人员想要推送新分支时,推送将被拒绝,并带有指向version.properties vref的链接。
我的规则集有什么问题?
答案 0 :(得分:0)
example for Vref/NAME并不完全相同:
repo foo
RW+ = @senior_devs
RW = @junior_devs
- VREF/NAME/Makefile = @junior_devs
当高级开发人员推送时,根本不会调用VREF。但是当一个初级开发者推送时,会调用VREF,并返回一个更改为虚拟引用的文件列表,如下所示:
VREF/NAME/file-1
VREF/NAME/dir-2/file-3
...etc...
这些引用中的每一个都与访问规则相匹配。如果其中一个恰好是Makefile,则返回的ref(VREF / NAME / Makefile)将与deny规则匹配并终止推送。
所以在你的情况下:
RWCD = @developer
RW+ refs/tags = @developer
- VREF/NAME/version.properties = @versionPropertyModifier