2010-05-24 5 views
4

전체 사용자를 대상으로 SVN 저장소를 설정하려고합니다. 다른 사용자는 저장소 영역에 대해 서로 다른 수준의 액세스 권한을 가져야합니다. Backend 엔지니어는 "컨트롤러"및 "모델"에 액세스해야하지만 "보기"에는 액세스 할 필요가 없지만 "보기"및 "컨트롤러"에 대한 액세스는 프런트 엔드 엔지니어가 필요하지만 "모델"은 아닌 간단한 예제가 될 수 있습니다.SVN 저장소에 대한 세분화 된 사용 권한

하나의 저장소가 필요합니다. (필자가 아는 한) 여러 모듈을 다루는 커밋이 원자적임을 보장하는 유일한 방법이기 때문입니다.

리포지토리에 대한 사용자 액세스를 제어하는 ​​세분화 된 방법이 있습니까?

감사합니다.

+0

나는 이것이 슈퍼 유저에 속한다고 생각합니다. – Warty

+2

참조 http://stackoverflow.com/questions/81361/how-to-setup-access-control-in-svn/83418#83418 – VonC

답변

4

경로 기반 인증을 사용할 수 있습니다. 파일의 각 경로에 대해 읽기 또는 쓰기 권한을 정의합니다. 사용 권한은 상속됩니다. 예를 들어

사용하여 그룹 (@groupname는) :

# Everyone get read access 
[/prj1/trunk] 
@backend = R 
@frontend = R 

#Specific rights 
[/prj1/trunk/model] 
@backend = RW 

[/prj1/trunk/controllers] 
@backend = RW 
@frontend = RW 

[/prj1/trunk/view] 
@frontend = RW 

당신은 svnserve.conf 또는 httpd.conf 파일에서이 파일을 참조합니다. (전체 설명은 이전 답변의 참고 자료를 참조하십시오.)

2

예, SVN에서 path-based authorization을 사용할 수 있지만, 은 매우 우울합니다.입니다.

저장소를 켜면 저장소의 성능에 큰 영향을 미칩니다. 둘째, 프런트 엔드 개발자가보기 및 컨트롤러에 대한 액세스 권한 만 필요로하기 때문에 작업중인 기능에서 발생하는 상황은 모델 변경이 필요합니다. 그들은 스스로 변화를 만들어 내고 업데이트를 통해 커밋하거나, "모델"개발자에게 그것을 요구하고 모든 것을 조직하는 데 하루가 걸립니다.

코드 리뷰가 제자리에 있다면, 여분의 농구는 실제로 없습니다.

코드 리뷰가 없더라도 누가 코드의 어떤 부분을 변경했는지 알 수 있습니다. 프런트 엔드 개발자가 다른 사람들의 발끝을 조금이라도 밟지 않고 발걸음을 옮기지 않는다고 믿는다면 실제로 아무 것도 할 수 없다고 믿는다. ?

+0

"큰 영향"? 사실 큰 것은 아닙니다. – bahrep

관련 문제