2010-09-20 9 views
5

Obecnie używam komendy hg diffmerge -r 32 -r 30 myfile, ale wyświetla to tylko dwa okna, a nie trzy. Jak mogę sprawić, żeby to było trójstronne połączenie?Jak sprawić, aby dyfuzor przeprowadził scalanie trójstronne z Mercurial?

.hgrc

[ui] 
merge=diffmerge 

[extensions] 
collapse=~/.hgext/collapse.py 
hgext.purge= 
hgext.extdiff= 
hgext.graphlog= 

[extdiff] 
cmd.diffmerge=/usr/bin/diffmerge 

[merge-tools] 
diffmerge.executable=/usr/bin/diffmerge 
diffmerge.args= --result=$output -t1="Local Version" -t2=$output -t3="Other Version" --caption=$output $local $base $other 
diffmerge.binary=False 
diffmerge.symlinks=False 
diffmerge.gui=True 
diffmerge.premerge=True 

Odpowiedz

3

Przypuszczam, to znaczy, że używasz SourceGear DiffMerge jako zewnętrzne narzędzie scalenia. Jaki jest twój .hgrc? Czy jest oparty na sample from hg website?

Zgaduję, że Twój diffmerge.args jest problematyczny. Możesz spróbować uruchomić dyfmerge ręcznie z tymi argumentami, aby upewnić się, że działa.


Z twoim .hgrc jest teraz jasne. Twoje polecenie hg diffmerge -r 32 -r 30 myfile NIE jest poleceniem scalenia, zamiast tego pytasz hg, aby użyć diffmerge jako narzędzia zewnętrznego porównania (określone w sekcji [extdiff]), aby porównać myfile między wersjami 32 i 30. Nie ma trzeciej wersji.

Dla scalenia uruchomionego hg merge [-r<the other head>], a ponieważ twój .hgrc mówi Hg do korzystania DiffMerge jako narzędzie scalania (określonym w sekcji [ui] Hg) użyje DiffMerge dla 3-way seryjnej. Potwierdziłem, że działa w mojej instalacji systemu Windows z identycznym hgrc.

Powiązane problemy