2010-01-14 2 views
3

.hg /, .hgignore, .hgtags 등을 제외한 repo의 루트 폴더 아래에 모든 파일을 넣고 싶습니다. 이렇게하려면 수은 기본 제공 또는 기존 확장이 있습니까?Repor 루트 디렉토리에서 "비 수은"파일을 모두 삭제할 수있는 기본 제공 또는 확장 기능이 있습니까?

하드 코드 "mercurial files"가 아닌 non-hg 스크립트를 구현했지만 수은 관련 파일을 제외하는 프로그램 방식을 사용하고 싶습니다.

정기적으로 모든 파일을 삭제하고 Starteam에서 깨끗한 체크 아웃을 한 다음 hg addremove를 실행 한 다음 체크인하여 비 수은 구성 관리 서버 (Starteam)를 미러링하려고합니다.

+0

hg 관련 파일이'.hg'로 시작한다고 가정하는 것이 좋습니다. – tonfa

답변

3

정확히 무엇을 찾고있는 것이 아니지만, hg update -r null은 분명히 파일이없는 첫 번째 변경 집합보다 먼저 수정본을 가져옵니다. 그건 .hg를 제자리에 두지 만 .hgtags와 .hgignore는 사라질 것입니다. 그러나 파일을 추적하므로 다른 파일과 동일한 hg update으로 다시 돌아옵니다.

+0

null로 업데이트 한 후 비 관련 mercury cm 서버의 모든 파일을 체크 아웃 할 수없고 관련이없는 새로운 분기가 만들어 지므로 체크인 할 수 없습니다. "작업 디렉토리를 업데이트하지 않고 리비전으로 업데이트하라"는 명령이 있다면, 이것이 가능합니다. 어쩌면 내가 질문을 다시해야합니까? –

+0

그 명령은 존재하지만, 'hg debugsetparent'입니다.하지만 정말로하고 싶은 것은 'hg update -r null'이고 'hg update -r whateverrevisionyouwant'입니다. –

0

Starteam에서 가져 오는 각 버전마다 새 디렉토리를 만드는 것이 좋습니다.

이 디렉토리에서 이전 디렉토리의 hg clone -U을 수행하십시오. 이것은 저장소를 복제하지만 체크 아웃 파일은 아닙니다. 그런 다음 Starteam 파일을 복사 한 다음 hg addremove을 작성하십시오.

+0

이렇게하면 각 개정판마다 새 분기가 작성되지만별로 유용하지 않습니다. – tonfa

0

Starteam 전체 내용을 repo의 루트 폴더의 하위 폴더에 복사하십시오. 이처럼

:

/MyRepo/ 
/MyRepo/.hg 
/MyRepo/.hgignore 
/MyRepo/Starteam/ 
/MyRepo/Starteam/Starteam file 1 
etc. 

그래서 당신이 명시 적으로 의욕 특정 파일을 무시 할 필요없이,이 하나의 "스타 팀"폴더를 삭제해야합니다.