2014-11-11 2 views
1

2 개의 머리가 충돌하고 사람이 병합 할 때 Mercurial이 병합 프로그램을 팝업하려면 어떻게해야합니까?Mercurial merge 프로그램 스크립트 실행

Visual Studio에서 Mercurial 및 HgSccPackage를 사용하고 있습니다. Devart의 CodeCompare를 사용하여 im을 병합하고 비교하는 데 사용합니다.

로그 쇼 :

[Pull started] 

pulling from http://localhost:8000/ 
[Error: warning: conflicts during merge.] 
searching for changes 
[Error: merging JackPot/JackPotViewer/Application/FrameRender.cpp incomplete! (edit conflicts,  then use 'hg resolve --mark')] 
all local heads known remotely 
adding changesets 
adding manifests 
adding file changes 
added 1 changesets with 1 changes to 1 files 
resolving manifests 
calling hook preupdate.eol: <function preupdate at 0x023DA4F0> 
couldn't find merge tool codecompare_merge 
couldn't find merge tool codecompare_merge 
couldn't find merge tool ecmerge 
couldn't find merge tool filemerge 
couldn't find merge tool gpyfm 
couldn't find merge tool kdiff3 
couldn't find merge tool meld 
couldn't find merge tool bcompare 
couldn't find merge tool UltraCompare 
couldn't find merge tool araxis 
couldn't find merge tool beyondcompare3 
couldn't find merge tool diffuse 
couldn't find merge tool diffmerge 
couldn't find merge tool p4merge 
couldn't find merge tool tkdiff 
couldn't find merge tool tortoisemerge 
couldn't find merge tool xxdiff 
couldn't find merge tool gvimdiff 
couldn't find merge tool vimdiff 
couldn't find merge tool winmerge 
couldn't find merge tool merge 
couldn't find merge tool hgmerge 
merging JackPot/JackPotViewer/Application/FrameRender.cpp 
0 files updated, 0 files merged, 0 files removed, 1 files unresolved 
use 'hg resolve' to retry unresolved file merges 

[Operation completed. Exit code: 1] 

내 Mercurial.ini입니다 : 설정에서

[ui] 
username=diego martinez <[email protected]> 
ignore=C:\Users\diego\Documents\hgignore_global.txt 
merge=codecompare_merge 

[extensions] 
eol= 
extdiff= 

[merge-tools] 
codecompare_merge.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CodeCompare_is1 
codecompare_merge.regname=InstallLocation 
codecompare_merge.regappend=CodeMerge.exe 
codecompare_merge.args=/SC=Hg /TF=$other /MF=$local /RF=$output /BF=$base /TT="Other: $other"  /MT="Local: $local" /RT="Output: $output" /BT="Base: $base" 
codecompare_merge.binary=False 
codecompare_merge.gui=True 
codecompare_merge.checkconflicts=True 
codecompare_merge.premerge=Keep 


[extdiff] 
cmd.codecompare=C:\Program Files\Devart\Code Compare\CodeCompare.exe 
opts.codecompare=/SC=Hg /W /title1="$plabel1" /title2="$clabel" $parent $child 

[merge-patterns] 
*.*=codecompare_merge 

[http_proxy] 
host= 
no= 
user= 
passwd= 

답변

1

을, 당신은 도구를 정의하는,하지만 성공적으로 하나의 경로를 지정했습니다.

외부 비교 도구로 codecompare을 정의했습니다. 나는 당신이 파일의 두 버전 사이의 차이를 보려고 할 때 그것이 올바르게 작동하고 있다고 가정하고있다. hg codecompare -r "tip^:tip" file.txt

두 번째 도구는 키의 세트를 사용하여 설치 위치를 정의하는 codecompare_merge입니다 :

codecompare_merge.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CodeCompare_is1 
codecompare_merge.regname=InstallLocation 
codecompare_merge.regappend=CodeMerge.exe 

이것은 REGKEY에 대한 (다음과 HKEY_LOCAL_MACHINE) HKEY_CURRENT_USER에서 레지스트리에보고 HG를 알려줍니다 Install Location 및 실행 경로를 얻으려면 CodeMerge.exe을 추가하십시오. 내 생각 엔 어딘가에 오류가 있다는 것입니다.

당신은 diff 섹션의 설정과 일치하도록 다음과 같이 그 세 가지 설정을 대체 할 수 있어야 다음 Selenic 사이트

codecompare_merge.executeable=C:\Program Files\Devart\Code Compare\CodeCompare.exe 

체크 아웃 more details.

+0

내가 할 때 : hg codecompare -r "tip^: tip"file.txt, 아무 일도 일어나지 않습니다. –

+0

위치가 맞습니다. –