This is perhaps a question for hg as much as it is for macOS.
I just upgraded to macOS High Sierra(10.13.4) to install Xcode.
Before the upgrade, my mercurial was set up to use kdiff3 as the diff tool and I was happy with it.
After the upgrade, mercurial is now using the file merge tool that comes with xcode. I do not want hg to use the file merge tool and have not done any change for this to happen except install xcode.
The configuration in ~/.hgrc
looks as follows
[extdiff]
cmd.kdiff3="/Applications/kdiff3.app/Contents/MacOS/kdiff3"
[merge-tools]
kdiff3.args = $base $local $other -o $output
pom_merge.priority = -100
pom_merge.premerge = True
pom_merge.args = -o $output $base $local $other
pom_merge.executable = /Users/username/codebases/apm/hg/secondbase/tools/hg-tools/pom_merge.py
[merge-patterns]
**pom.xml = pom_merge
[extensions]
shelve=
rebase=
purge=
hgext.extdiff=
extdiff=
strip=
[tortoisehg]
vdiff =kdiff3
editor="/Applications/kdiff3.app/Contents/MacOS/kdiff3"
When I run hg config
, which is supposed to show the combined settings from all hgrc files, it does the following entries, but I do not know where they come from
merge-tools.filemerge.executable=/Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge
merge-tools.filemerge.args=-left $other -right $local -ancestor $base -merge $output
merge-tools.filemerge.gui=True
merge-tools.filemergexcode.executable=/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge
merge-tools.filemergexcode.args=-left $other -right $local -ancestor $base -merge $output
merge-tools.filemergexcode.gui=True
Does any one have any idea how to fix this so I can continue to use kdiff3 as my difftool instead of the xcode file merge?
Best Answer
I don't have Xcode installed, since I don't want to use FileMerge. However, I can spot that the path to your kdiff3 is inside quotes
"
, and it shouldn't. I tried here and it doesn't work like that.The necessary configs to the .hgrc file to run kdiff3 as the vdiff tool in Mercurial (TortoiseHg) are: