2010-04-05 7 views
7

우리는 모든 QC 작업이 완료되었다는 것을 확인한 후에 중앙 저장소에 커밋 권한을 부여하는 품질 보증 관리자가있는 서브 버전 배경에서 왔습니다.hg 중앙 저장소에 대한 액세스 제어

나와 몇 명의 동료가 수은을 사용하기 시작했으며 우리는 QC-ed 변경 사항을 포함하는 공유 저장소를 원합니다. 각 개발자는 저장소를 복제하고 변경 사항을 공유 저장소로 다시 보냅니다. 나는 HG init 튜토리얼을 읽었고 빨간 콩 책을 보았지만 공유 저장소에 변경을 푸시 할 수있는 사용자를 제어하는 ​​방법을 찾을 수 없었다.

QA 관리자가 관리하는 커밋의 기존 모델은 어떻게 수은 같은 '중앙'리포지토리로 변환됩니까?

+0

리포지토리를 어떻게 제공합니까? –

+1

http://mercurial.selenic.com/wiki/PublishingRepositories#Allowing_Push –

답변

0

serverfault.com은 question과 관련이 있으며 Publishing Repositories Mercurial Wiki 페이지로 연결됩니다. 첫 번째는 서버에서 hgweb을 사용할 때 저장소 별 액세스를 구성하는 방법을 보여줍니다. 나는 wiki 페이지가 "private"로 레이블을 붙인 ssh를 사용하고있어서 파일 시스템 접근 제어로 넘어 가야한다고 생각한다. 즉, 저장소의 모든 파일을 그룹에 속하게한다. "커미터"는 그룹 회원에게 쓰기 권한을 부여하고 다른 모든 사용자에게는 읽기 전용 권한을 부여합니다.

+0

ssh는 액세스 제어 지침 _IF_에서 모두 잘 작동합니다. 모든 사용자는 자신의 ssh 계정을 가지고 있습니다. 모든 사람들이 sg 계정을 공유하고 hg-ssh 또는 yuck mercurial-server와 같은 것을 통해 키 선택 액세스에 대해 속임수를 써야하는 경우에만 해당됩니다. –

2

HenriW의 의견은 당신이 리포지토리를 어떻게 제공하고 있는지 묻는 것은 정확한 질문입니다. 인증 설정 방법은 전적으로 repo를 제공하는 방식 (Apache를 통한 HTTP, hg-serve를 통한 HTTP, ssh 등)에 달려 있습니다. 전송 메커니즘은 인증을 제공하고 액세스 제어를 처리하기 위해 Cat의 링크 (그 자체는 쓸데없는)의 명령을 사용하여 수은을 사용합니다.

당신이 repo를 어떻게 다루고 있는지 언급하지 않았기 때문에 아마도 설정하기가 쉽습니다 (아파치 또는 SSH 설정에 대한 번거 로움을 기억했을 것입니다 :). 그래서 나는이 두 가지를 싫어합니다 :

hg 서브을 사용하는 경우 인증 설정이 필요 없습니다. 인증을 제공하려면 hgweb 또는 hgwebdir 앞에 apache, lighttp 또는 nginx를 사용해야합니다. 당신이 할 때까지 allow_ * 및 deny_ * 옵션은 모두 또는 아무도 엄격하게입니다.

ssh을 사용하는 경우 allow_ * 및 deny_ * 지시어 (및 파일 시스템 액세스 제어)를 사용할 수 있으므로 이미 ssh (및 귀하의 OS)에서 인증을 얻고 있습니다. 처럼).

관련 문제