我有一个GIT存储库foo
,包含2个分支:branch1
和branch2
。我想设置一个gitolite规则,拒绝仅为this
用户的branch1
推送bar
文件的修改。这是我到目前为止所尝试的:
repo foo
- branch1/this = bar
repo foo
- branch1/NAME/this = bar
repo foo
- branch1 /NAME/this = bar
我甚至不知道这是否可能与gitolite。
非常欢迎任何帮助。提前谢谢。
编辑:我尝试了这2个配置as suggested。以下内容:
- branch1 VREF/NAME/this = bar
RW branch2 VREF/NAME/this = @all
拒绝两个分支
remote: FATAL: W VREF/NAME/this testing bar DENIED by VREF/NAME/this
remote: error: hook declined to update refs/heads/branch2
remote: FATAL: W VREF/NAME/this testing bar DENIED by VREF/NAME/this
remote: error: hook declined to update refs/heads/branch1
To debian:testing.git
! [remote rejected] branch2 -> branch2 (hook declined)
! [remote rejected] branch1 -> branch1 (hook declined)
error: failed to push some refs to 'debian:testing.git'
以下
RW branch2 VREF/NAME/this = @all
- branch1 VREF/NAME/this = bar
允许推送两个分支
To debian:testing.git
f6bc01d..09b63ab branch2 -> branch2
7a868cf..09bcb63 branch1 -> branch1
使用相同的分支(branch1
)
RW branch1 VREF/NAME/this = @all
- branch1 VREF/NAME/this = bar
To debian:testing.git
9c50fc4..02f350d branch1 -> branch1
- branch1 VREF/NAME/this = bar
RW branch1 VREF/NAME/this = @all
remote: FATAL: W VREF/NAME/this testing bar DENIED by VREF/NAME/this
remote: error: hook declined to update refs/heads/branch1
To debian:testing.git
! [remote rejected] branch1 -> branch1 (hook declined)
答案 0 :(得分:1)
应该是:
repo foo
- branch1 VREF/NAME/this = bar
我对" VREF-based"使用了类似的gitolite disallow access for directory on master branch but not on user branch规则
' VREF/...
'是重要的部分(' NAME
'单独工作,' VREF/NAME
' will)