저는 Mercurial을 수년간 사용해 왔지만 이제는 회사에서 Subversion으로 전환하는 파일럿을하고 있습니다.중앙/공유 저장소에서 세분화 된 변경 집합을 어떻게 관리합니까?
우리는 개발자가 더 세분화 된 변경 집합을 작성한다는 사실을 받아들입니다. 그 중 일부는 빌드조차되지 않을 수도 있습니다. 개발자가 중앙 저장소에 변경 사항을 적용하면 이러한 변경 집합이 모두 기록에 남게됩니다. 이는 자연스럽고 예상되는 내용입니다.
내 질문은 : 변경 집합이보다 세분화되어 있기 때문에 개발자가 빌드하지 않은 개정판으로 업데이트 할 수 있다는 사실을 어떻게 처리할까요? 우리는 저장소의 어느 곳에서나 체크 아웃 할 수 있고 그 시점부터 릴리스를 합리적으로 기대할 수있는 세계에서 왔습니다. DVCS에서는 "안전한"개정판이 어디에 있는지 어떻게 알 수 있습니까?
이 문제는 다소 this question으로 해결되었지만이 문제를 처리하는 방법을 찾는 데는 분기 저장소와 명명 된 분기를 사용하는 방법을 찾는 데 더 많은 관심이 있습니다.
기록을 수정하여 저장소의 기록에서 변경 사항이 무너 지도록 기록 (예 : collapse extension)을 수정하는 방법이 있지만 Google은 기록을 보존하고자합니다.
mercurial과 mozilla 나무를 보면 안전한 수정 버전을 동기화 할 명확한 방법이 없습니다. 이것이 우리가 생각하는 것만 큼 중요하지 않습니까?
Mercurial 프로젝트 자체에서 "모든 커밋은 테스트를 통과해야합니다"라는 가이드 라인이 있습니다. 우리는 이것을 완벽하게 지키지 않지만 우리는 꽤 잘합니다. – mpm