Mercurial ACL, возможно ли предоставить групповое разрешение одному филиалу, но запретить все остальное? - PullRequest
3 голосов
/ 26 апреля 2011

В основном

[acl.groups]
group1=user1,user2
group2=user3,user4

[acl.allow.branch]
default=*

[acl.deny.branch]
*=@group2

Поскольку Mercurial сначала смотрит на deny, он игнорирует acl.allow ... в нашем репо есть много веток, которые помечены номерами билетов.Я не могу отрицать каждую отдельную ветку (и сопоставление с подстановочными знаками в ветвях, похоже, не работает)

Я хотел бы запретить каждую ветку для группы 2, но по умолчанию

Возможно ли это?

1 Ответ

1 голос
/ 29 апреля 2011

Хорошо, я спал над проблемой и нашел решение: вам не нужно черный список групп в вашей конфигурации, так как у вас уже есть белый список.Белый список работает таким образом, что, когда он присутствует и ни одна запись пользователя не соответствует, пользователю отказано ( src ).Таким образом, вам нужен только белый список, где ветка по умолчанию разрешена для всех пользователей, а все остальные ветки разрешены только для людей из ветки.Поскольку лица, не являющиеся ветвями, не перечислены в белом списке, у них нет прав на них.

[acl.groups]
group1=user1,user2
group2=user3,user4

[acl.allow.branch]
default=*
*=@group1
...