[thg] TortoiseHgと組み合わせて使うマージツールの実行ファイルの指定はどのように行うのでしょうか?

240 views
Skip to first unread message

ohira

unread,
Mar 28, 2017, 11:04:00 PM3/28/17
to mercurial-ja
いつもお世話になっております。
おおひらです。

TortoiseHgと組み合わせて使うマージツールの実行ファイルの指定はどのように行うのでしょうか?

通常にインストールされているwinmergeuのexeの代わりに特殊なバージョンのwinmergeuを一時的に動作させるため
%USERPROFILE%\Mercurial.iniに設定を追加して起動するwinmergeを切り替えようとしました。
ところが、うまく切り替わらず通常にインストールされているいつものwinmergeuが起動してしまいます。

起動したいkeep-merge3対応のWinMerge

起動したいファイルのパス
C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe

設定ファイル
C:\Users\ohira\Mercurial.ini

設定ファイルの関連する部分

[ui]
merge = winmergeu

[merge-tools]
winmergeu.args = /e /ub /fr /ar /wl /wm /dl base /dm other /dr local $base $other $local /o $output
winmergeu.executable = C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe

hg config で設定状況を表示させるとうまくせっていできてるようにみえるのですが、実際動かしてみると
いつものwinmergeが起動します。

premerge=keep-merge3対応の要望

Yuya Nishihara

unread,
Mar 30, 2017, 12:05:28 PM3/30/17
to mercur...@googlegroups.com, ohira
On Tue, 28 Mar 2017 20:04:00 -0700 (PDT), ohira wrote:
> TortoiseHgと組み合わせて使うマージツールの実行ファイルの指定はどのように行うのでしょうか?
>
> 通常にインストールされているwinmergeuのexeの代わりに特殊なバージョンのwinmergeuを一時的に動作させるため
> %USERPROFILE%\Mercurial.iniに設定を追加して起動するwinmergeを切り替えようとしました。
> ところが、うまく切り替わらず通常にインストールされているいつものwinmergeuが起動してしまいます。
>
> 起動したいkeep-merge3対応のWinMerge
> https://github.com/sdottaka/winmerge-v2/releases/tag/2.14.0%2B-jp-131
>
> 起動したいファイルのパス
> C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe
>
> 設定ファイル
> C:\Users\ohira\Mercurial.ini
>
> 設定ファイルの関連する部分
>
> [ui]
> merge = winmergeu
>
> [merge-tools]
> winmergeu.args = /e /ub /fr /ar /wl /wm /dl base /dm other /dr local $base
> $other $local /o $output
> winmergeu.executable =
> C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe
>
> hg config で設定状況を表示させるとうまくせっていできてるようにみえるのですが、実際動かしてみると
> いつものwinmergeが起動します。

設定方法は Mercurial と基本的に同じはずです。とりあえず、 TortoiseHg と
同じコマンドを --debug つきで実行してみると何か分かるかもしれません。
TortoiseHg は "hg merge" の他に "hg resolve" を叩いていると思います。
(Workbench の Console ウィンドウにコマンドが表示されます。)

ohira

unread,
Mar 30, 2017, 9:24:56 PM3/30/17
to mercurial-ja, shin....@gmail.com, yu...@tcha.org
回答ありがとうございます。
おおひらです。

--debug を付けて実行したところ、自分が行ったMercurial.iniの設定が有効でないことが確認できました。

2017年3月31日金曜日 1時05分28秒 UTC+9 Yuya Nishihara:
> 起動したいファイルのパス
> C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe
>

> [ui]
> merge = winmergeu
>
> [merge-tools]
> winmergeu.args = /e /ub /fr /ar /wl /wm /dl base /dm other /dr local $base
> $other $local /o $output
> winmergeu.executable =
> C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe

設定方法は Mercurial と基本的に同じはずです。とりあえず、 TortoiseHg と
同じコマンドを --debug つきで実行してみると何か分かるかもしれません。
TortoiseHg は "hg merge" の他に "hg resolve" を叩いていると思います。
(Workbench の Console ウィンドウにコマンドが表示されます。)

--debug オプションを追加して実行したところ、通常インストールのwinmergeが使われていることが確認できました。

 winmergeのバージョン表示(動かしたいwinmergeは 131)

このファイルを参考にMercurial.iniを編集しました

C:\Program Files\TortoiseHg\hgrc.d\Paths.rc
[merge-tools]
kdiff3.executable=C:\Program Files\TortoiseHg\lib\kdiff3.exe
kdiff3-noauto.executable=C:\Program Files\TortoiseHg\lib\kdiff3.exe
[ui]
ssh="C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -ssh -2


hg config の結果
alias.start=!for /f "usebackq tokens=1" %i in (`"%HG%" branch`) do @(if not "$1" == "default" (if "%i" == "$1" (if not "%i" == "$2" ("%HG%" update $1 --check && "%HG%" branch $2 --force && "%HG%" commit -m "Create branch $2" && "%HG%" branch))))
alias.stop=!for /f "usebackq tokens=1" %i in (`"%HG%" branch`) do @(if not "$1" == "default" (if not "%i" == "$1" (if "%i" == "$2" ("%HG%" update $2 --check && "%HG%" commit -m "Close branch $2" --close-branch && "%HG%" update $1 --check && "%HG%" merge $2 && "%HG%" commit -m "Merge branch $2" && "%HG%" branch))))
bundle.mainreporoot=C:\Users\ohira\tmp\sps_25_22
diff-patterns.**.doc=docdiff
diff-patterns.**.rtf=docdiff
diff-patterns.**.docx=docdiff
diff-patterns.**.docm=docdiff
diff-patterns.**.ppt=docdiff
diff-patterns.**.pptx=docdiff
diff-patterns.**.pptm=docdiff
diff-patterns.**.xls=docdiff
diff-patterns.**.xlsx=docdiff
diff-patterns.**.xlsm=docdiff
diff-patterns.**.xlsb=docdiff
diff-patterns.**.xlam=docdiff
diff-patterns.**.ods=docdiff
diff-patterns.**.odt=docdiff
diff-patterns.**.sxw=docdiff
diff-patterns.**.nb=docdiff
editor-patterns.**.py=pyscripter
editor-patterns.**.v=sigasi
editor-patterns.**.vhd=sigasi
editor-tools.notepad++.priority=-1
editor-tools.notepad++.regkey=Software\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings
editor-tools.notepad++.regkeyalt=Software\Classes\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings
editor-tools.notepad++.regname=Path
editor-tools.notepad++.args=$FILES -nosession
editor-tools.notepad++.argsln=$FILE -n$LINENUM -nosession
editor-tools.chrimsonedit.priority=-1
editor-tools.chrimsonedit.executable=cedit
editor-tools.chrimsonedit.args=$FILES
editor-tools.chrimsonedit.argsln=/L:$LINENUM $FILE
editor-tools.ultraedit.priority=-1
editor-tools.ultraedit.executable=uedit32
editor-tools.ultraedit.args=$FILES
editor-tools.ultraedit.argsln=$FILE --lx $LINENUM
editor-tools.ultraedit.argssearch=$FILE --lx $LINENUM -f$SEARCH
editor-tools.textpad.priority=-1
editor-tools.textpad.executable=TextPad
editor-tools.textpad.args=$FILES
editor-tools.textpad.argsln=$FILE($LINENUM)
editor-tools.sublime_text.priority=-1
editor-tools.sublime_text.executable=subl
editor-tools.sublime_text.args=$FILES
editor-tools.sublime_text.argsln=$FILE:$LINENUM
editor-tools.bbedit.priority=-1
editor-tools.bbedit.args=--wait $FILES
editor-tools.bbedit.argsln=+$LINENUM --wait $FILE
editor-tools.textwrangler.priority=-1
editor-tools.textwrangler.executable=/usr/local/bin/edit
editor-tools.textwrangler.args=--wait $FILES
editor-tools.textwrangler.argsln=+$LINENUM --wait $FILE
editor-tools.textmate.priority=-1
editor-tools.textmate.executable=mate
editor-tools.textmate.args=--wait $FILES
editor-tools.textmate.argsln=--wait --line $LINENUM $FILE
editor-tools.textadept.priority=-1
editor-tools.textadept.executable=ta
editor-tools.textadept.args=-f -n $FILES
editor-tools.textadept.argsln=-f -n $FILE -e "goto_line($LINENUM)"
editor-tools.textadept.argssearch=-f -n $FILE -e "goto_line($LINENUM)" -e "find.find_entry_text=\"$SEARCH\"]];find.find_next()"
editor-tools.pspad.priority=-1
editor-tools.pspad.args=$FILES
editor-tools.pspad.argsln=-$LINENUM $FILE
editor-tools.scite.priority=-1
editor-tools.scite.args="-open:$FILE"
editor-tools.scite.argsln="-open:$FILE" -goto:$LINENUM
editor-tools.scite.argssearch="-open:$FILE" -goto:$LINENUM "-find:$SEARCH"
editor-tools.kate.priority=-3
editor-tools.kate.args=$FILES
editor-tools.kate.argsln=--line $LINENUM $FILE
editor-tools.gedit.priority=-3
editor-tools.gedit.args=$FILES
editor-tools.gedit.argsln=+$LINENUM $FILE
editor-tools.gvim.priority=-5
editor-tools.gvim.regkey=SOFTWARE\Vim\Gvim
editor-tools.gvim.regname=path
editor-tools.gvim.args=-f $FILES
editor-tools.gvim.argsln=-f +$LINENUM $FILE
editor-tools.gvim.argssearch=-f -c":set hls" -c"/$SEARCH/" +$LINENUM $FILE
editor-tools.emacs.priority=-5
editor-tools.emacs.args=$FILES
editor-tools.emacs.argsln=+$LINENUM $FILE
editor-tools.emacs.argssearch=+$LINENUM $FILE --eval '(highlight-regexp "$SEARCH")'
editor-tools.eclipse.priority=-7
editor-tools.eclipse.args=--launcher.openFile $FILE
editor-tools.VisualStudio.priority=-7
editor-tools.VisualStudio.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\devenv.exe
editor-tools.VisualStudio.args=/EDIT $FILES
editor-tools.notepad.priority=-9
editor-tools.notepad.args=$FILES
editor-tools.pyscripter.priority=-10
editor-tools.pyscripter.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PyScripter_is1
editor-tools.pyscripter.regkeyalt=SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\PyScripter_is1
editor-tools.pyscripter.regname=DisplayIcon
editor-tools.pyscripter.args=$FILES
editor-tools.sigasi.priority=-10
editor-tools.sigasi.executable=${SystemDrive}/Sigasi/sigasi
editor-tools.sigasi.args=$FILES
editor-tools.sigasi.argsln=$FILE +$LINENUM
extensions.flow=%USERPROFILE%/hgflow/src/hgflow.py
extensions.rebase=
flow.autoshelve=yes
hostfingerprints.bitbacket.org=cb:4a:e9:e2:4b:ab:71:4b:b0:c2:c7:07:da:78:d7:4e:43:b2:b1:0a
merge-patterns.**.doc=docdiff
merge-patterns.**.rtf=docdiff
merge-patterns.**.docx=docdiff
merge-patterns.**.docm=docdiff
merge-patterns.**.ods=docdiff
merge-patterns.**.odt=docdiff
merge-patterns.**.sxw=docdiff
merge-tools.kdiff3.args=--auto --L1 base --L2 parent1 --L3 parent2 $base $local $other -o $output
merge-tools.kdiff3.regkey=Software\KDiff3
merge-tools.kdiff3.regkeyalt=Software\Wow6432Node\KDiff3
merge-tools.kdiff3.regappend=\kdiff3.exe
merge-tools.kdiff3.fixeol=False
merge-tools.kdiff3.premerge=False
merge-tools.kdiff3.gui=True
merge-tools.kdiff3.priority=-3
merge-tools.kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
merge-tools.kdiff3.diff3args=--L1 '$plabel1' --L2 '$clabel' --L3 '$plabel2' $parent1 $child $parent2
merge-tools.kdiff3.dirdiff=True
merge-tools.kdiff3-noauto.args=--L1 base --L2 parent1 --L3 parent2 $base $local $other -o $output
merge-tools.kdiff3-noauto.regkey=Software\KDiff3
merge-tools.kdiff3-noauto.regkeyalt=Software\Wow6432Node\KDiff3
merge-tools.kdiff3-noauto.regappend=\kdiff3.exe
merge-tools.kdiff3-noauto.fixeol=False
merge-tools.kdiff3-noauto.premerge=False
merge-tools.kdiff3-noauto.gui=True
merge-tools.kdiff3-noauto.priority=-4
merge-tools.kdiff3-noauto.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
merge-tools.kdiff3-noauto.diff3args=--L1 '$plabel1' --L2 '$clabel' --L3 '$plabel2' $parent1 $child $parent2
merge-tools.kdiff3-noauto.dirdiff=True
merge-tools.gvimdiff.args=--nofork -d -g -O $local $other $base
merge-tools.gvimdiff.regkey=Software\Vim\GVim
merge-tools.gvimdiff.regkeyalt=Software\Wow6432Node\Vim\GVim
merge-tools.gvimdiff.regname=path
merge-tools.gvimdiff.priority=-9
merge-tools.gvimdiff.diffargs=--nofork -d -g -O $parent $child
merge-tools.gvimdiff.diff3args=--nofork -d -g -O $parent1 $child $parent2
merge-tools.meld.regkey=SOFTWARE\Meld
merge-tools.meld.regkeyalt=SOFTWARE\Wow6432Node\Meld
merge-tools.meld.regname=Executable
merge-tools.meld.gui=True
merge-tools.meld.priority=-2
merge-tools.meld.args=--label='local' $local --label='merged' $base --label='other' $other -o $output
merge-tools.meld.checkchanged=True
merge-tools.meld.diffargs=-a --label='$plabel1' $parent --label='$clabel' $child
merge-tools.meld.diff3args=-a --label='$plabel1' $parent1 --label='$clabel' $child --label='$plabel2' $parent2
merge-tools.meld.dirdiff=True
merge-tools.tkdiff.args=-L local -L other $local $other -a $base -o $output
merge-tools.tkdiff.gui=True
merge-tools.tkdiff.priority=-5
merge-tools.tkdiff.diffargs=-L '$plabel1' $parent -L '$clabel' $child
merge-tools.tkdiff.diff3args=
merge-tools.tkdiff.dirdiff=False
merge-tools.xxdiff.args=--show-merged-pane --exit-with-merge-status --title1 local --title2 base --title3 other --merged-filename $output --merge $local $base $other
merge-tools.xxdiff.gui=True
merge-tools.xxdiff.priority=-4
merge-tools.xxdiff.diffargs=--title1 '$plabel1' $parent --title2 '$clabel' $child
merge-tools.xxdiff.diff3args=--title1 '$plabel1' $parent1 --title2 '$clabel' $child --title3 '$plabel2' $parent2
merge-tools.xxdiff.dirdiff=True
merge-tools.diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\
merge-tools.diffmerge.regkeyalt=Software\Wow6432Node\SourceGear\SourceGear DiffMerge\
merge-tools.diffmerge.regname=Location
merge-tools.diffmerge.priority=-7
merge-tools.diffmerge.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output
merge-tools.diffmerge.checkchanged=True
merge-tools.diffmerge.gui=True
merge-tools.diffmerge.diffargs=--nosplash --title1='$plabel1' --title2='$clabel' $parent $child
merge-tools.diffmerge.diff3args=--nosplash --title1='$plabel1' --title2='$clabel' --title3='$plabel2' $parent1 $child $parent2
merge-tools.diffmerge.dirdiff=True
merge-tools.diffmerge3.regkey=Software\SourceGear\Common\DiffMerge\Installer
merge-tools.diffmerge3.regkeyalt=Software\Wow6432Node\SourceGear\Common\DiffMerge\Installer
merge-tools.diffmerge3.regname=Location
merge-tools.diffmerge3.priority=-7
merge-tools.diffmerge3.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output
merge-tools.diffmerge3.checkchanged=True
merge-tools.diffmerge3.gui=True
merge-tools.diffmerge3.diffargs=--nosplash --title1='$plabel1' --title2='$clabel' $parent $child
merge-tools.diffmerge3.diff3args=--nosplash --title1='$plabel1' --title2='$clabel' --title3='$plabel2' $parent1 $child $parent2
merge-tools.diffmerge3.dirdiff=True
merge-tools.p4merge.args=$base $local $other $output
merge-tools.p4merge.regkey=Software\Perforce\Environment
merge-tools.p4merge.regkeyalt=Software\Wow6432Node\Perforce\Environment
merge-tools.p4merge.regname=P4INSTROOT
merge-tools.p4merge.regappend=\p4merge.exe
merge-tools.p4merge.gui=True
merge-tools.p4merge.priority=-8
merge-tools.p4merge.diffargs=$parent $child
merge-tools.p4merge.diff3args=$child $parent1 $parent2
merge-tools.p4merge.dirdiff=False
merge-tools.p4merge.checkchanged=True
merge-tools.tortoisemerge.args=/base:$base /mine:$local /theirs:$other /merged:$output
merge-tools.tortoisemerge.regkey=Software\TortoiseSVN
merge-tools.tortoisemerge.regkeyalt=Software\Wow6432Node\TortoiseSVN
merge-tools.tortoisemerge.checkchanged=True
merge-tools.tortoisemerge.gui=True
merge-tools.tortoisemerge.priority=-9
merge-tools.tortoisemerge.diffargs=/base:$parent /mine:$child /basename:'$plabel1' /minename:'$clabel'
merge-tools.tortoisegitmerge.args=/base:$base /mine:$local /theirs:$other /merged:$output
merge-tools.tortoisegitmerge.regkey=Software\TortoiseGit
merge-tools.tortoisegitmerge.regkeyalt=Software\Wow6432Node\TortoiseGit
merge-tools.tortoisegitmerge.regname=TMergePath
merge-tools.tortoisegitmerge.checkchanged=True
merge-tools.tortoisegitmerge.gui=True
merge-tools.tortoisegitmerge.priority=-9
merge-tools.tortoisegitmerge.diffargs=/base:$parent /mine:$child /basename:'$plabel1' /minename:'$clabel'
merge-tools.ecmerge.args=$base $local $other --mode=merge3 --title0=base --title1=local --title2=other --to=$output
merge-tools.ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge
merge-tools.ecmerge.regkeyalt=Software\Wow6432Node\Elli\xc3\xa9 Computing\Merge
merge-tools.ecmerge.gui=True
merge-tools.ecmerge.priority=-10
merge-tools.ecmerge.diffargs=$parent $child --mode=diff2 --title1='$plabel1' --title2='$clabel'
merge-tools.ecmerge.diff3args=$child $parent1 $parent2 --mode=diff3 --title0='$clabel' --title1='$plabel1' --title2='$plabel2'
merge-tools.ecmerge.dirdiff=True
merge-tools.ecmerge.dir3diff=True
merge-tools.beyondcompare2.args=/ro /title1="Original" /title2="Working copy" $local $other
merge-tools.beyondcompare2.regkey=Software\Scooter Software\Beyond Compare
merge-tools.beyondcompare2.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare
merge-tools.beyondcompare2.regname=ExePath
merge-tools.beyondcompare2.gui=True
merge-tools.beyondcompare2.priority=-4
merge-tools.beyondcompare2.diffargs=/lro /title1='$plabel1' /title2='$clabel' $parent $child
merge-tools.beyondcompare2.dirdiff=True
merge-tools.beyondcompare3.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /automerge /reviewconflicts /solo
merge-tools.beyondcompare3.premerge=False
merge-tools.beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3
merge-tools.beyondcompare3.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 3
merge-tools.beyondcompare3.regname=ExePath
merge-tools.beyondcompare3.gui=True
merge-tools.beyondcompare3.priority=-1
merge-tools.beyondcompare3.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
merge-tools.beyondcompare3.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
merge-tools.beyondcompare3.dirdiff=True
merge-tools.beyondcompare3-noauto.executable=beyondcompare3
merge-tools.beyondcompare3-noauto.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /reviewconflicts /solo
merge-tools.beyondcompare3-noauto.premerge=False
merge-tools.beyondcompare3-noauto.regkey=Software\Scooter Software\Beyond Compare 3
merge-tools.beyondcompare3-noauto.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 3
merge-tools.beyondcompare3-noauto.regname=ExePath
merge-tools.beyondcompare3-noauto.gui=True
merge-tools.beyondcompare3-noauto.priority=-1
merge-tools.beyondcompare3-noauto.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
merge-tools.beyondcompare3-noauto.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
merge-tools.beyondcompare3-noauto.dirdiff=True
merge-tools.beyondcompare4.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /automerge /reviewconflicts /solo
merge-tools.beyondcompare4.premerge=False
merge-tools.beyondcompare4.regkey=Software\Scooter Software\Beyond Compare 4
merge-tools.beyondcompare4.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 4
merge-tools.beyondcompare4.regname=ExePath
merge-tools.beyondcompare4.gui=True
merge-tools.beyondcompare4.priority=-1
merge-tools.beyondcompare4.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
merge-tools.beyondcompare4.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
merge-tools.beyondcompare4.dirdiff=True
merge-tools.beyondcompare4.dir3diff=True
merge-tools.beyondcompare4-noauto.executable=beyondcompare4
merge-tools.beyondcompare4-noauto.args=$local $other $base /mergeoutput=$output /ro /lefttitle=parent1 /centertitle=base /righttitle=parent2 /outputtitle=merged /reviewconflicts /solo
merge-tools.beyondcompare4-noauto.premerge=False
merge-tools.beyondcompare4-noauto.regkey=Software\Scooter Software\Beyond Compare 4
merge-tools.beyondcompare4-noauto.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 4
merge-tools.beyondcompare4-noauto.regname=ExePath
merge-tools.beyondcompare4-noauto.gui=True
merge-tools.beyondcompare4-noauto.priority=-1
merge-tools.beyondcompare4-noauto.diffargs=/lro /lefttitle='$plabel1' /righttitle='$clabel' /solo /expandall $parent $child
merge-tools.beyondcompare4-noauto.diff3args=$parent1 $parent2 $child /lefttitle='$plabel1' /centertitle='$clabel' /righttitle='$plabel2' /solo /ro
merge-tools.beyondcompare4-noauto.dirdiff=True
merge-tools.beyondcompare4-noauto.dir3diff=True
merge-tools.bcompare.args=$local $other $base -mergeoutput=$output -ro -lefttitle=parent1 -centertitle=base -righttitle=parent2 -outputtitle=merged -automerge -reviewconflicts -solo
merge-tools.bcompare.premerge=False
merge-tools.bcompare.gui=True
merge-tools.bcompare.priority=-1
merge-tools.bcompare.diffargs=-lro -lefttitle='$plabel1' -righttitle='$clabel' -solo -expandall $parent $child
merge-tools.bcompare.diff3args=$parent1 $parent2 $child -lefttitle='$plabel1' -centertitle='$clabel' -righttitle='$plabel2' -solo -expandall
merge-tools.bcompare.dirdiff=True
merge-tools.winmergeu.regkey=Software\Thingamahoochie\WinMerge\
merge-tools.winmergeu.regkeyalt=Software\Wow6432Node\Thingamahoochie\WinMerge\
merge-tools.winmergeu.regname=Executable
merge-tools.winmergeu.fixeol=True
merge-tools.winmergeu.checkchanged=True
merge-tools.winmergeu.gui=True
merge-tools.winmergeu.priority=-10
merge-tools.winmergeu.diffargs=/r /e /x /ub /wl /dl '$plabel1' /dr '$clabel' $parent $child
merge-tools.winmergeu.diff3args=
merge-tools.winmergeu.dirdiff=True
merge-tools.araxis.regkey=SOFTWARE\Classes\TypeLib\{46799e0a-7bd1-4330-911c-9660bb964ea2}\7.0\HELPDIR
merge-tools.araxis.regappend=\ConsoleCompare.exe
merge-tools.araxis.priority=-2
merge-tools.araxis.args=/3 /a2 /wait /merge /title1:"Parent 1" /title2:"Merge Result: "$output /title3:"Parent 2" $local $base $other $output
merge-tools.araxis.premerge=False
merge-tools.araxis.checkconflicts=True
merge-tools.araxis.binary=True
merge-tools.araxis.gui=True
merge-tools.araxis.diffargs=/2 /wait /title1:"$plabel1" /title2:"$clabel" $parent $child
merge-tools.araxis.diff3args=/3 /a2 /wait /title1:"$plabel1" /title2:"$clabel" /title3:"$plabel2" $parent1 $child $parent2
merge-tools.araxis.dirdiff=True
merge-tools.araxis.dir3diff=True
merge-tools.diffuse.priority=-3
merge-tools.diffuse.args=$local $base $other
merge-tools.diffuse.gui=True
merge-tools.diffuse.diffargs=$parent $child
merge-tools.diffuse.diff3args=$parent1 $child $parent2
merge-tools.diffuse.dirdiff=False
merge-tools.UltraCompare.regkey=Software\Microsoft\Windows\CurrentVersion\App Paths\UC.exe
merge-tools.UltraCompare.regkeyalt=Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\UC.exe
merge-tools.UltraCompare.args=$base $local $other -title1 base -title3 other
merge-tools.UltraCompare.priority=-2
merge-tools.UltraCompare.gui=True
merge-tools.UltraCompare.binary=True
merge-tools.UltraCompare.checkconflicts=True
merge-tools.UltraCompare.checkchanged=True
merge-tools.UltraCompare.diffargs=$child $parent -title1 $clabel -title2 $plabel1
merge-tools.UltraCompare.diff3args=$parent1 $child $parent2 -title1 $plabel1 -title2 $clabel -title3 $plabel2
merge-tools.docdiff.priority=-100
merge-tools.docdiff.regkey=Software\TortoiseHg
merge-tools.docdiff.regappend=\docdiff.exe
merge-tools.docdiff.args=$local $base $other $output
merge-tools.docdiff.gui=True
merge-tools.docdiff.diffargs=$child $parent
merge-tools.docdiff.diff3args=$parent1 $child $parent2 $child
merge-tools.docdiff.usewin=True
merge-tools.rekisa.priority=-1
merge-tools.rekisa.args=-Title=Base "$base" -Title=Local "$local" -Title=Other "$other"
merge-tools.rekisa.gui=True
merge-tools.rekisa.diffargs="-Title=$plabel1" "$parent" "-Title=$clabel" "$child"
merge-tools.rekisa.diff3args="-Title=$plabel1" "$parent1" "-Title=$clabel" "$child" "-Title=$plabel2" "$parent2"
merge-tools.rekisa.dirdiff=False
merge-tools.codecompare_diff.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CodeCompare_is1
merge-tools.codecompare_diff.regname=InstallLocation
merge-tools.codecompare_diff.regappend=CodeCompare.exe
merge-tools.codecompare_diff.diffargs=/SC=TortoiseHg /title1="$plabel1" /title2="$clabel" $parent $child
merge-tools.codecompare_diff.diff3args=/SC=TortoiseHg /title1="$plabel1" /title2="$clabel" /title3="$plabel2" $parent1 $child $parent2
merge-tools.codecompare_diff.binary=False
merge-tools.codecompare_diff.gui=True
merge-tools.codecompare_diff.dirdiff=True
merge-tools.codecompare_merge.regkey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CodeCompare_is1
merge-tools.codecompare_merge.regname=InstallLocation
merge-tools.codecompare_merge.regappend=CodeMerge.exe
merge-tools.codecompare_merge.args=/SC=TortoiseHg /TF=$other /MF=$local /RF=$output /BF=$base /TT="Other: $other" /MT="Local: $local" /RT="Output: $output" /BT="Base: $base"
merge-tools.codecompare_merge.binary=False
merge-tools.codecompare_merge.gui=True
merge-tools.codecompare_merge.checkconflicts=True
merge-tools.codecompare_merge.premerge=Keep
merge-tools.rhapsody_diffmerge.regkey=Software\Telelogic\Rhapsody\DiffMerge\
merge-tools.rhapsody_diffmerge.regkeyalt=Software\Wow6432Node\Telelogic\Rhapsody\DiffMerge\
merge-tools.rhapsody_diffmerge.regname=Install Path
merge-tools.rhapsody_diffmerge.priority=-110
merge-tools.rhapsody_diffmerge.args=-xmerge $other $local -base $base -out $output
merge-tools.rhapsody_diffmerge.checkchanged=True
merge-tools.rhapsody_diffmerge.gui=True
merge-tools.rhapsody_diffmerge.diffargs=-xcompare $parent $child
merge-tools.rhapsody_diffmerge.diff3args=
merge-tools.kdiff3.executable=C:\Program Files\TortoiseHg\lib\kdiff3.exe
merge-tools.kdiff3-noauto.executable=C:\Program Files\TortoiseHg\lib\kdiff3.exe
merge-tools.winmergeu.args=/e /ub /fr /ar /wl /wm /dl base /dm other /dr local $base $other $local /o $output
merge-tools.winmergeu.executable=C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe
paths.default=C:\Users\ohira\repos\trunk\sps_25
terminal-tools.windows_command_prompt.priority=-1
terminal-tools.windows_command_prompt.executable=cmd
terminal-tools.windows_command_prompt.args=/K title %(reponame)s
terminal-tools.powershell.priority=-2
terminal-tools.powershell.executable-win=powershell
terminal-tools.powershell.args=-NoExit -Command "$Host.UI.RawUI.WindowTitle = 'Windows PowerShell - %(reponame)s'"
terminal-tools.rxvt_native.priority=-3
terminal-tools.rxvt_native.executable-win=C:\cygwin\bin\rxvt.exe
terminal-tools.rxvt_native.args=-display :0 -fn "Lucida Console-14" -tn rxvt-cygwin-native -e /bin/bash
terminal-tools.cygwin_terminal.priority=-4
terminal-tools.cygwin_terminal.executable-win=C:\cygwin\bin\mintty.exe
terminal-tools.cygwin_termimal.args=-i /Cygwin-Terminal.ico -
terminal-tools.bash_prompt.priority=-5
terminal-tools.bash_prompt.executable-win=c:\cygwin\bin\bash
terminal-tools.gnome-terminal.priority=-1
terminal-tools.gnome-terminal.executable-linux=gnome-terminal
terminal-tools.xterm.priority=-10
terminal-tools.xterm.executable-unix=xterm
terminal-tools.xterm.args=-T "%(reponame)s"
terminal-tools.terminal_app.priority=-1
terminal-tools.terminal_app.executable-osx=open
terminal-tools.terminal_app.args=-a Terminal "%(root)s"
terminal-tools.IPython27_QT.priority=-20
terminal-tools.IPython27_QT.executable-win=c:\Python27\Scripts\ipython.bat
terminal-tools.IPython27_QT.executable=ipython
terminal-tools.IPython27_QT.args=qtconsole
terminal-tools.IPython27.priority=-20
terminal-tools.IPython27.executable-win=c:\Python27\Scripts\ipython.bat
terminal-tools.IPython27.executable=ipython
terminal-tools.IPython26_QT.priority=-21
terminal-tools.IPython26_QT.executable-win=c:\Python26\Scripts\ipython.bat
terminal-tools.IPython26_QT.executable=ipython
terminal-tools.IPython26_QT.args=qtconsole
terminal-tools.IPython26.priority=-21
terminal-tools.IPython26.executable-win=c:\Python26\Scripts\ipython.bat
terminal-tools.IPython26.executable=ipython
terminal-tools.IPython25.priority=-22
terminal-tools.IPython25.executable-win=c:\Python25\Scripts\ipython.bat
terminal-tools.IPython25.executable=ipython
terminal-tools.tchlsh.priority=-30
tortoisehg.workbench.custom-toolbar=start stop
tortoisehg.ui.language=ja
tortoisehg.editor="C:\Program Files\sakura\sakura.exe"
tortoisehg.autoresolve=True
tortoisehg.vdiff=winmergeu
tortoisehg.guifork=True
tortoisehg-tools.start.command=hg start %BASE% %USERNAME%
tortoisehg-tools.start.enable=istrue
tortoisehg-tools.start.showoutput=True
tortoisehg-tools.stop.command=hg stop %BASE% %USERNAME%
tortoisehg-tools.stop.enable=istrue
tortoisehg-tools.stop.showoutput=True
ui.ssh="C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -ssh -2
ui.username=ohira shin
ui.editor="C:\Program Files\sakura\sakura.exe"
ui.merge=winmergeu
web.encoding=euc_jp
web.deny_push=*


Paths.rc

ohira

unread,
Mar 30, 2017, 9:29:37 PM3/30/17
to mercurial-ja, shin....@gmail.com, yu...@tcha.org
hg config の結果が途中で切れていましたので再度アップします。

hg config のログ
winmerge.log

Yuya Nishihara

unread,
Mar 31, 2017, 11:26:27 AM3/31/17
to mercur...@googlegroups.com, ohira
On Thu, 30 Mar 2017 18:24:56 -0700 (PDT), ohira wrote:
> merge-tools.winmergeu.regkey=Software\Thingamahoochie\WinMerge\
> merge-tools.winmergeu.regkeyalt=Software\Wow6432Node\Thingamahoochie\WinMerge\
> merge-tools.winmergeu.regname=Executable
> merge-tools.winmergeu.fixeol=True
> merge-tools.winmergeu.checkchanged=True
> merge-tools.winmergeu.gui=True
> merge-tools.winmergeu.priority=-10
> merge-tools.winmergeu.diffargs=/r /e /x /ub /wl /dl '$plabel1' /dr
> '$clabel' $parent $child
> merge-tools.winmergeu.diff3args=
> merge-tools.winmergeu.dirdiff=True

[snip]

> merge-tools.winmergeu.args=/e /ub /fr /ar /wl /wm /dl base /dm other /dr
> local $base $other $local /o $output
> merge-tools.winmergeu.executable=C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe

レジストリのルックアップが入っているのかもしれません。
regkey, regkeyalt, regname を空文字で上書きしてみてください。

ohira

unread,
Apr 4, 2017, 4:14:01 AM4/4/17
to mercurial-ja, shin....@gmail.com, yu...@tcha.org
回答ありがとうございます。
おおひらです。

regkey, regkeyalt, regname を空文字で上書きすることで
merge-tools.winmergeu.executable=C:\Users\ohira\Downloads\winmerge-2.14.0-jp-131-exe\WinMerge\WinMergeU.exe 
上の設定が有効となりました。

2017年4月1日土曜日 0時26分27秒 UTC+9 Yuya Nishihara:
Reply all
Reply to author
Forward
0 new messages