지금까지 명확한 답변을 찾을 수 없었지만 대답은 "워크 플로 변경"일 가능성이 있습니다.어떻게 Mercurial 패치를 가져 오지 못하게합니까?
저는 Mercurial의 패치 대기열을 가지고 놀기 시작했습니다. 그리고 나는 그것에 심각한 영향력을 볼 수 있습니다. 그것은 꽤 굉장한 것처럼 보인다. 테스트 결과, repo1
에 패치 대기열이 있고 repo2
에서 풀 경우 몇 가지 나쁜 일을 할 수 있음을 발견했습니다. 예 :
- repos 1을 생성하고 복제합니다.
repo2
에
- 에
repo1
- 풀 변경에
- 풀 변경을 일부 커밋 일부 패치를 확인
repo1
- 에 큐를 사용
repo1
취소 신청 (팝업?) 모든 패치에
repo2
이제는 특정 관점에서 의미가 다른 두 가지 가지를 볼 수 있습니다. 그러나, 내 패치가 repo1
의 역사의 일부가 아니기 때문에 (최소한 패치가 적용될 때까지는), 내 패치가 오프 - 리밋 (off-limit)이라는 사실을 수은에 알리는 방법이 있어야하며, "공식적인 역사".
이 방법이 있습니까?
내가 독립 실행 형을 만들 수 실현 저장소에 저장하고 복제 한 다음 내 복제본에서 대기열을 사용하지만 워크 플로에 약간의 복잡성이 추가됩니다. 또한 패치를 사용하는 다른 사람들을 얻는 것이 어려울 수도있는 것처럼 보입니다. –
mq 패치의 약간 더러운 비밀은 활성 상태 ('qpush'-ed) 일 때 repo의 히스토리의 일부입니다. 로그를 확인하십시오. 'qpop'는 repo 히스토리에서 패치를 제거합니다. 그리고'qpush'-ing은 새로운 id와 비슷한 새로운 changeset를 다시 만듭니다. 그래서'mq'는 역사를 바꿉니다. 어느 것이 든'qpop -all'이 다른 repos를 잡아 당기거나 푸시하기 전에 또는'단계'접근 방식을 시도하십시오. –