2010-07-19 2 views
3

기업 환경에서 Mercurial을 사용하여 조사하고 있습니다. 이 계획은 웹 서버 (IIS)가 호스팅하는 중앙 저장소를 사용하여 개발자가 로컬 또는 팀 내에서 변경 사항을 테스트 한 후에 밀어 넣을 것입니다.Mercurial 변경 집합을 확인하는 사람들은 그들이 누구라고 말하고 있습니까?

Active Directory에 대해 사용자를 인증하도록 IIS가 구성되어 있지만 밀어 넣을 수있는 사람을 적용 할 수있는 반면 자체적으로 자신의 변경 집합에 서명 할 것을 강요 할 수 없다는 단점이있는 것으로 보입니다. 기본적인 "커밋"시나리오 주어진 예

:

  1. 사용자가 로컬 저장소에 커밋
  2. 사용자는 중앙 저장소
  3. 1 단계에서

사용자에게 그 변경을 푸시 .hgrc 파일 등을 통해 사용자의 로컬 저장소에 사용자 이름을 제공하지만 이것이 실제로 "실제"사용자 이름이라는 것을 강제 할 수있는 방법은 없습니다.

2 단계에서 사용자는 밀어 넣기를 허용하기 위해 IIS에 "진짜"자격 증명을 제공해야하지만 변경 세트는 1 단계에서 제공 한 사용자 이름과 함께 기록에 표시됩니다. 1 단계의 사용자 이름으로 "alice"를 입력하면 앨리스가 버그 수정에 책임이 있음을 확인할 수있었습니다.

푸시 중에 이러한 사용자 이름이 일치하는지 확인하는 방법이 있습니까 (후크 등을 통해)? 또는 대안으로, 오랜 변화 속에서 합리적인 수준의 진정성을 보장하는 다른 방법이 있을까요?

편집 : 추가 고려 사항으로, 나는 실제로 이러한 이름이 일치하도록 강제하지 않을 것이라고 생각합니다. Bob과 Alice가 별도의 Repo에서 공동 작업을 수행 한 경우 Bob은 궁극적으로 자신의 변경 사항이 아닌 모든 변경 사항을 푸시 할 수 있어야합니다. 내가 진정으로 원하는 것은 사용자 이름이 적용된 것보다 더 확실한 방법으로 누가 변경했는지를 알 수 있습니다.

나는 GpgExtension이 대답의 일부라고 생각하지만, 나는 여전히 전체 그림을 가지고 있다고 생각하지 않는다.

+0

이것은 아주 최근에 물어 보았습니다. 그래서 제가 처음에는 보이는 문제가 아니라는 것을 이미 알았지 만, 제 대답에 꽤 만족했습니다. –

+0

[Mercurial Checkins 확인] 가능한 복제본 (http://stackoverflow.com/questions/3237889/verify-mercurial-checkins) –

+0

그래서 다른 질문에 대한 링크를 닫으려고 투표를 던졌지 만 질문이 더 명확하게 나타납니다 물어보다 더 검색 제목이 너무 어쩌면 그들을 병합하는 더 나은 방법입니다. –

답변

1

나는 실질적으로 내 옵션이 모두 GPG로 변경 집합에 서명하거나, 사용자가 무엇을 중앙 저장소에 밀어 넣었는지 추적하는 "푸시 로그"를 수은의 외부에 설정한다는 사실을 밝히는 this discussion을 찾았습니다.

Ry4an도 다른 곳에서 내가 무엇을 발견했는지 확인하는 좋은 답변을 가지고이 (본질적으로 중복) question을 지적했습니다.

관련 문제