2013-06-04 2 views
1

master을 제외한 모든 브랜치로 @developers을 푸시 할 수 있습니다.
master의 특정 디렉토리를 제외한 모든 분기 (master 포함)로 푸시 할 수 있으려면 user1이 필요합니다.브랜치와 폴더가있는 gitolite permissoins

어떻게하면됩니까?

+0

@VonC 내 몇 가지를 시도 도움이 sitaram, 우리는 사용자 정의 VREF를 만들어야한다는 결론에 도달했습니다. –

답변

1

이 모두를 해결해야합니다

repo arepo 
    RW   = @developer 
    - master$ = @developer 

    RW      = user1 
    - master and VREF/NAME/adirectory = user1 

access rulesrefex 페이지/심판/헤드/마스터 분기 @developer에 대한 푸시 거부하는 방법을 설명합니다.

Virtual Refs 'NAME'을 사용하면 주어진 디렉토리 또는 파일을 강제로 거부 할 수 있습니다.

Drew Lesueurthe comments에 추가합니다 : 그것은 "와"조건 만 을 수행 할 수 없습니다 보인다

- master VREF/NAME/adirectory = user1 

에 "또는" 우리를 위해 - master VREF/NAME/adirectory = user1
나는 사용자 정의 VREF를 작성 결국 필요로하는 스크립트

나는이 경우 사용자 지정 VREF 만 OP의 re gitolite 3.5까지 (그리고 'and'의 소개) : sitaram (gitolite의 창조자)의 answer을보십시오.

+0

'user1'이'adirectory'를 포함하는 가지를 생성하는 것을 제한하지 않습니까? –

+0

@DrewLeSueur no : VREF "'NAME'"은 dir 및 파일의 이름을 변경하여 푸시를 제한하는 것에 대한 것입니다. 여기서'adirectory'는 브랜치 이름이 아니라 가상 참조의 매개 변수입니다. – VonC

+0

오른쪽. 'adirectory'는 디렉토리 이름입니다. 'user1'이 새로운 브랜치를 만들고 그 브랜치가'adirectory' 디렉토리를 포함한다면'user1'은 그것을 밀어 낼 수 없습니다.(이것은 우리가 실행하는 것입니다.) –

1

V3.5의, 당신은이 작업을 수행 할 수 있습니다

(1)이 선 곳 inside the ENABLE hash in the .gitolite.rc file

'refex-expr', 

를 추가합니다. 이 같은

(2) 사용하는 규칙 : (! 경고를 포함)

repo r1 
    RW+ master       = user 
    RW+         = user 
    RW+ VREF/NAME/Makefile    = user 
    - master and VREF/NAME/Makefile = user 

문서는 내부 src/VREF/refex-expr입니다. 거기에 몇 가지 다른 좋은 예제가 있습니다.

SO/SE/etc를 따르지 않습니다. IMO gitolite 메일 링리스트는 gitolite에 관한 정확한 질문입니다.

그러나, 누군가가 나에게이 일을 지적하고, 아주 최근의 기능을 참조하기 때문에 나는에서 칩 거라고 생각

-.

+0

+1. 너를 볼만한 곳이야. – VonC