2016-12-19 5 views
1

私は2つのブランチdevuiを持っていますが、私は一時ブランチdev-uiのdevにuiをマージしようとしています。私はdevから新しいブランチを作成し、それにuiをマージしました。だから私の分岐スキーマは次のとおりです。制限付きブランチの派生ブランチに対するGitoliteのアクセス許可

dev ----- dev-ui 
ui --/ 

私はGitoliteを使用している、と私は不正な書き込みからmasterdev枝をロックしました。彼はdev-uiにプッシュすることはできませんなぜ

remote: FATAL: W refs/heads/dev-ui myRepo dev1 DENIED by refs/heads/dev 
remote: error: hook declined to update refs/heads/dev-ui 
To myServer:myRepo 
! [remote rejected] dev-ui -> dev-ui (hook declined) 
error: failed to push some refs to 'myServer:myRepo' 

@myRepoDevs = dev1 dev2 

repo myRepo 
    RW+       = admin 
    R  dev master    = @myRepoDevs 
    -  dev master    = @myRepoDevs 
    RW        = @myRepoDevs 

2つの開発者の1がorigindev-uiを押すしようとすると、彼はGitのコンソールからこのエラーを受け取ります。これは私の設定に関連するファイルです。 ?
devから直接派生したものであるか、その名前に接頭辞devがあるためですか?それとも別の理由?

答えて

1

Gitoliteはrefexを使用しています。

refexは、私が「REFに一致する正規表現」を意味するように作られた言葉です。

refexは暗黙のうちに開始時にアンカーされますが、最後にはアンカーされません。正規表現の用語では、最初に^が仮定されています(ただし、末尾の$は想定されていません)。
だから、masterのrefexは、これらすべての引用文献と一致します:あなたのケースで

refs/heads/master 
refs/heads/master1 
refs/heads/master2 
refs/heads/master/full 

息子を、あなたのgitoliteのルールでdev$を必要としています。

関連する問題