2010-03-04 4 views
6

일부 구성 파일이 필요한 프로젝트가 있습니다. 저장소에 기본 구성 파일을 보관하고 싶습니다. 그러나 모든 커밋에 대해 -X 플래그를 지정하고 싶지는 않습니다. 커밋에서 영구적으로 제외 된 개정 된 파일 세트를 표시하는 표준 방법이 있습니까?Mercurial의 커밋에서 프로젝트 구성 파일 제외

답변

4

흥미로운 질문, 난 당신이 더 나은 해답을 얻을 수 있기를 바랍니다. 예를 들어, 대신 noweb.cfg 내가 noweb.cfg.default을 가질 수 있도록

  • 가 구성 파일의 이름을 바꿉니다 직면 유사한 문제는, 나는 다음과 같은 했어요. 이 파일은 거의 변경되지 않고 개정 제어하에 보관됩니다.

  • 실제 구성 파일 인 noweb.cfg은 자주 변경 될 수 있지만 결코 적용되지 않도록 .hgignore 파일에 저장됩니다.

  • 필요에 따라 *.cfg을 다시 작성하는 특수 Makefile 대상이 *.cfg.default에서 있습니다. .cfg 파일의 변경 사항이 때 .cfg.default 변경을 잃었 때문에

이 솔루션은 적합하지 않습니다. 원칙적으로 diff3 또는 좀 더 정교한 병합 도구를 사용하여이 문제를 해결할 수 있지만 필자는 거기에 갈만큼 충분히 정력적 인 적이 없습니다.

3

당신은 당신의 .hgrc에 (많은 중상) 기본값 섹션을 사용할 수 있습니다

[defaults] 
    commit = -X thefileyouwanttoexclude 

당신이 당신의 손가락을 그렇게 할 수있는 좋은 방법을 재교육 할 수있는 경우 대신 별명입니다 :

[alias] 
    cmt = commit -X thefileyouwanttoexclude 

커밋 대신 hg cmt을 사용하기 시작합니다.

+1

"왜 많이 말했습니까?" 그것은 눈살을 찌푸려 야 하는가? 아니면 잘 알려지지 않았습니까? –

+1

괜찮 았지만 mpm, mercurial의 제작자는 [defaults]를 사용하지 않습니다. 의도적으로 명령이 보이지 않는 방법으로 변경되므로 명령을 사용하는 스크립트 또는 확장이 의도하지 않은 인수를 사용하여 명령을 실행합니다. 예를 들어 , 내가 할 경우 "[기본값] \ npush = -f"나는 항상 그 괜찮지 만 -f 사용하려는 있기 때문에 새로운 만들 확실하지 확인하고 싶어하기 때문에 스크립트가 -f없이 '푸시'를 사용하는 경우 원격 헤드, 스크립트는 -fw/o를 사용하여이를 알 수 있습니다. 하나의 손가락을 재교육 할 수 있다면, 별칭은 단지 더 안전하고 거의 동일한 것을 성취 할 수 있습니다. –