Mercurial을 사용하면 기본 원격 저장소의 팁 파일과 내 작업 사본을 쉽게 차단하는 방법이 있습니까?

StackOverflow https://stackoverflow.com/questions/156280

문제

Mercurial을 사용할 때는 기본 원격 저장소에 팁 파일이있는 파일의 작업 사본을 차단할 수 있습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?

나는 "HG Incoming -P"를 할 수 있다는 것을 알고 있습니다. 최신 것들 (또는 내가 밀어 넣는 것에 관한 것).

내가 지금 생각할 수있는 가장 쉬운 것은 .hg/hgrc의 기본 위치를 살펴보고 Curl을 사용하여 파일을 다운로드하는 작은 스크립트를 작성하는 것입니다 (http 이상인 경우 SSH를 통해 SCH를 사용하거나 그냥 수행하는 경우. 로컬 파일 시스템에있는 경우 직접 diff와 해당 임시 사본과 비교하여 작업 사본 또는 팁을 차단합니다.

나는 Mercurial을 팀에 판매하려고 노력하고 있으며, 팀원 중 한 명이 오늘 GUI 도구를 사용하여 SVN에서 쉽게 할 수있는 것으로 이걸 가져 왔습니다.

도움이 되었습니까?

해결책

약간의 파기 후, 나는 만났다 RDIFF 확장 그것은 내가 원하는 대부분의 일을합니다.

수은과 함께 제공되지 않지만 저장소를 복제하여 설치할 수 있습니다.

hg clone http://hg.kublai.com/mercurial/extensions/rdiff 

그런 다음 ~/.hgrc 파일을 수정하여 확장자를로드합니다.

[extensions] 
rdiff=~/path/to/rdiff/repo/rdiff.py

첫 번째 매개 변수가 원격 URL인지 감지하여 실제로 기존 "HG Diff"명령을 수정한다는 점에서 약간 기발한 일입니다. 그렇다면 로컬 리포 (Working Copy)의 팁 파일에 해당 파일이 다릅니다. 이것은 원격 리포가 인수에서 가장 먼저 이루어 지므로, 내가 기대하는 것의 반대이지만, "-reverse"로 전환 할 수 있습니다.

이러한 확장에 대한 잠재적 인 향상을 볼 수 있었지만 지금은 Starup 파일의 bash/zsh 쉘 기능으로 작업 할 수 있습니다. 그것은 내 작업 사본 (수은 거래에 의해 보류되어 롤백 될 수 있도록)을 확인하고, 역 차이를 실행 한 다음, 거래를 다시 롤으로 다시 롤링하여 다음과 같은 방식으로 물건을 되돌려 놓습니다.

hgrdiff() {
    hg commit -m "temp commit for remote diff" && 
    hg diff --reverse http://my_hardcoded_repo $* &&
    hg rollback      # revert the temporary commit
}

그런 다음 다음과 함께 호출하십시오.

hgrdiff <filename to diff against remote repo tip>

다른 팁

로컬로 두 개의 리포지토리를 사용해 볼 수 있습니다. 그런 다음 모든 도구로 Diff를 수행 할 수 있어야합니다. 여기를 봐:

http://weblogs.java.net/blog/kohsuke/archive/2007/11/using_mercurial.html

LARS 메소드를 확장하려면 (어떤 이유로 의견이 작동하지 않음) -R 옵션 diff 로컬 저장소를 참조하는 명령. 그렇게하면 내에서 지정한 것과 동일한 DIFF 응용 프로그램을 사용할 수 있습니다. hg

템플릿을 사용하여 변경된 모든 파일 목록을 얻을 수 있습니다.

hg incoming --template {files}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top