1

I'm using mercurial for revision control in Windows, but I'd like to use a nice merge tool like TortoiseGitMerge. How can I tell Mercurial to use TortoiseGitMerge for merge conflicts?

MrTux
  • 32,350
  • 30
  • 109
  • 146
Josh Kodroff
  • 27,301
  • 27
  • 95
  • 148

2 Answers2

1

Ensure that you have installed TortoiseGit.

Then, edit or create %userprofile%\.hgrc (e.g. c:\users\YOUR_USER_NAME\.hgrc) and add the following:

[extdiff]
cmd.tortoisegitmerge = c:/Program Files/TortoiseGIT/bin/TortoiseGitMerge.exe

[merge-tools]
tortoisegitmerge.args = -base $base -mine $local -theirs $other -merged $output
Josh Kodroff
  • 27,301
  • 27
  • 95
  • 148
  • Terrible bad. 1. `[extdiff]` section means you have to have extdiff extension enabled (but you say nothing about it) 2. **Full** merge-tool description is more than one line 3. For new merge-tool **now** extdiff isn't needed at all 4. `tortoisegitmerge.args` contain errors in writing – Lazy Badger Sep 15 '15 at 20:13
  • I just entered what worked for me. Sorry you didn't like it. – Josh Kodroff Sep 16 '15 at 17:11
0

Good [merge-tools] section for TortoiseGitMerge (extracted from TortoiseHG's hgrc.d\MergeTools.rc) for single merge-tool only (Merge Tool Configuration wiki-page used for reference)

tortoisegitmerge.args=/base:$base /mine:$local /theirs:$other /merged:$output
tortoisegitmerge.regkey=Software\TortoiseGit
tortoisegitmerge.regkeyalt=Software\Wow6432Node\TortoiseGit
tortoisegitmerge.regname=TMergePath
tortoisegitmerge.checkchanged=True
tortoisegitmerge.gui=True

For more than 1 merge tool tortoisegitmerge.priority key with some priority have to added. In order to ignore priority-list and use always preselected from possible choices merge-tool, use

[ui]
merge = tortoisegitmerge

In global or repository-specific ini-file

Zoe
  • 27,060
  • 21
  • 118
  • 148
Lazy Badger
  • 94,711
  • 9
  • 78
  • 110