2016-12-19 34 views
1

我有兩個分支devui,我試圖將ui合併到一個臨時分支dev-ui上的dev。我從dev創建了一個新分支,並將ui合併到它。所以我的分支模式是:問題在衍生分支上的Gitolite權限從受限制的

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

我使用Gitolite,我已經從未經授權的寫鎖定masterdev分支機構。這是我的配置文件相關:

@myRepoDevs = dev1 dev2 

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

當兩個開發者的一個試圖推動對dev-uiorigin,他收到來自混帳控制檯此錯誤:

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' 

爲什麼他不能推動dev-ui
是因爲它直接來自dev,還是因爲它的名稱上有前綴dev?或者其他原因?

回答

1

Gitolite使用refex

一個refex是我做了表示「一個裁判匹配的正則表達式」一詞。

refex在開始時隱式錨定,但不在結尾。在正則表達式中,開始時假設爲^(但假設末尾沒有$)。
所以master一個refex會匹配所有這些裁判:

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

兒子在你的情況,你需要在你gitolite規則dev$