2010-12-09 3 views
3

제 질문은 본질적으로 here과 같지만 수은에 적용됩니다. 나는 버전 제어하에있는 파일 세트를 가지고 있으며, 하나의 저장 조작은 상당히 많은 파일을 변경시킨다. 결과 변경 사항 중 일부는 개정 관리에 중요하며 변경 사항 중 일부는 단지 쓸모가 없습니다. 나는 정크 파일을 별도의 파일로 "분할"할 수 있습니다. 이러한 정크 파일은 작동하기 위해 기본 체크 아웃의 일부 여야하지만, 내용 (및 시간 경과에 따른 변경 사항)은 개정 제어에 중요하지 않습니다. 지금 당장 나는 모든 개발자에게이 파일들을 커밋하지 말라고 말했지만, 우리는 모두 잊었고 저장소에 여분의 수하물을 많이 만듭니다. 꽤 많은 파일이 있기 때문에 제안 된 svn 솔루션이 마음에 들지 않습니다.이 여분의 수동 작업 없이도 작업 할 수있는 간단한 복제본을 원합니다. 따라서 수은이 더 나은 대안인지 궁금합니다. 그것은 마치 HG 선반과 비슷하지만 무시할 정도로 친절하지만 종류는 아닙니다. 이것을 허용하는 확장자가 있습니까? 그럴 수있어?mercurial은 버전이있는 파일을 일시적으로 무시합니다.

답변

1

하나의 해결책은 "junk"가 다른 저장소에 저장되는 중첩 트리 지원 (git의 하위 모듈)을 사용하는 것입니다 (메인 저장소가 어지럽지 않도록). 일관된 방식 (양쪽 모두의 올바른 버전의 동기화).

https://www.mercurial-scm.org/wiki/Subrepository?action=show&redirect=subrepos

는 자식에서, 서브 모듈이 문제에 대한 하나 개의 솔루션입니다 -하지만 그들은 위대한 UI 현명하지 않습니다. 대신에 두 개의 완전히 독립적 인 저장소를 유지하고 정크 저장소로 기본 저장소를 업데이트해야하는 경우 하위 트리 병합 전략을 사용하는 것입니다. http://progit.org/book/ch6-7.html

+0

이 제안에 감사드립니다. 이 경우에는 사용하지 않을 것이라고 생각하지만 하위 repo 옵션은 향후 프로젝트에 대해 알아두면 좋습니다. –

+0

그래, 나는 그것이 당신의 usecase에 대한 헤비급의 종류임을 인정하는 최초의 사람이 될 것입니다. –

3

Mercurial은 이것을 지원하지 않습니다. 올바른 방법은 thefile.sample을 커밋 한 다음 개발자에게 (또는 스크립트를 배포하는 것이 더 좋습니다.) 이없는 경우 thefile.sample에서 thefile까지 복사본을 만들어야합니다. 그렇게하면 누구나 예제 파일을 업데이트 할 수 있지만 로컬 변경 사항을 적용 할 위험이 없습니다 (개인 데이터베이스 연결 문자열).

2

아하! 따라서 TortoiseHG의 저장소와 전역 설정에는 상태, 커밋 및 쉘브 대화 상자가 열려있을 때 기본적으로 선택 해제 될 파일 목록을 정의 할 수있는 자동 제외 목록이 있습니다. 그래서 그들은 여전히 ​​나타나지만, 사용자는 실제로 커밋을하기 위해 그것들을 체크해야합니다. 설정은 hgrc에 저장되어 있지만 [tortoisehg] 제목 아래에 있으므로 수은 자체가 지원하지 않습니다. 그럼에도 불구하고, 그것은 나의 필요에 부합합니다.

관련 문제