2016-12-19 10 views
1

У меня есть две ветви dev и ui, и я пытаюсь объединить ui в dev на временной ветке dev-ui. Я создал новую ветку из dev и объединил ui в нее. Так что моя ветвь схемы является:Проблема с разрешениями Gitolite на производной ветви от ограниченного

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

Я использую Gitolite, и я заперт master и dev ветви от несанкционированных записей. Это мой конфиг соответствующий файл:

@myRepoDevs = dev1 dev2 

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

Когда один из двух разработчиков пытается нажать на dev-ui к origin, он получает эту ошибку от мерзавца консоли:

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 это слово я сделал, чтобы означать «регулярное выражение, которое соответствует реф».

Рефлекс неявно закреплен в начале, но не в конце. В регулярном выражении lingo принимается ^ (но не предполагается $).
Так refex из master будет соответствовать всем этим рефам:

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

Сына в вашем случае, вам нужно dev$ в правилах gitolite.

 Смежные вопросы

  • Нет связанных вопросов^_^