2014-04-08 6 views
1

Mercurial 저장소에서 정기적으로 모든 최신 커밋을 사용하여 번들을 만들고 싶습니다 (이메일을 보내기 위해).mercurial에서 최신 커밋을 묶어 이미 번들 된 것으로 표시하는 방법

내가 공정이 같은 구상 클린 디렉터리로 시작 :

  1. 깨끗한 저장소 내 디렉토리에
    작품을 제작

    일 더 디렉토리에 커밋

    를 저지 ...

  2. 커밋과 함께 번들을 보내십시오. 내 디렉토리에

  3. 작업

  4. 함께 번들을 보내 ...

    를 저지
    일 더 디렉토리에 커밋 모두가 마지막으로 보낸 번들 후 커밋.

  5. 다시 2.이 작업을 수행 할 수있는 방법

로 이동? 문제는 4 단계입니다. 번들 된 커밋을 모두 다시 표시하지 않으려면 해당 커밋을 표시하는 방법이 있습니까?


참고 : 나는 전자 우편 당 전송 함께 모든 번들은 현재 상태에서 전체 디렉토리를해야한다.

답변

3

Mercurial에는 이에 대한 기본 메커니즘이 없습니다. 당신이 원하는 것은 새로운 번들을 생성 할 때 정확한 기본 변경 집합을 지정하는 것입니다. 즉, 4 단계에서, 당신은 당신이 다른 방법으로 부기를 할 수

$ hg bundle --base head-used-in-step-2 changes-after-2.hg 

를 실행하려면 다음에 커밋 쓰기 포스트 - 그것,주의, 커밋 번들로 마지막을 기억 앵무새를 가르치는에 쓰기 저장소에 추적되지 않은 파일 또는 로컬 태그를 사용하여 추적 할 수 있습니다.

로컬 태그를 사용하는 것이 가장 좋은 방법 일 수 있습니다. 새 번들을 만든 후에는 작업 복사본 부모 revsion에 태그를 이동 : 태그를 이동되기 때문에

$ hg bundle --base last-bundle 
$ hg tag --local -f last-bundle 

당신은 -f이 필요합니다. 번들을 처음 사용할 때 last-bundle 태그를 사용하지 않으므로 처음으로 hg bundle --all을 사용하십시오.

+0

태그가 아닌 북마크 일 수 있습니까? 비활성 북마크, 손으로 이동 –

+0

로컬 태깅 방식을 시도했습니다. 치료를해라. 정확히 내가 마킹 한 것입니다. – halloleo

+1

@LazyBadger : 책갈피가 작동하고 거의 동일한 워크 플로우를 제공합니다. 그러나 로컬 태그에는 약간의 이점이 있다고 생각합니다. 태그가 (의도적으로) 돌아 다니지 않습니다. 북마크는 활성화하지 않는 한 이동할 수 있습니다. 또한 실수로 로컬 태그를 공유 할 수도 없습니다. –

관련 문제