How to integrate WinMerge with TortoiseSvn after installation?

When you install winmerge after TortoiseSVN it gives you the option of associating winmerge with Tortoise. But if we install TortoiseSVN after winmerge how can we associate Winmerge to be used instead of Tortoise default diff viewer.


Solution 1:

You can open the TortoiseSVN settings and manually enter it:

enter image description here

My command line from the screenshot above is:

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine

If you install TortoiseSVN after WinMerge, probably the easiest way would be to uninstall and re-install WinMerge again.

Solution 2:

You can also use WinMerge for merging changes. In the settings window (as above) under Merge Tool, enter:

32-bit os

C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %tname -dr %yname %theirs %mine

64-bit os

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -ub -dl %tname -dr %yname %theirs %mine

Then you'll get the remote file in the left pane, your local (changed) file in the right pane.

Solution 3:

As of 2017, command line parameters as slightly changed. You should use (for 64-bit OS):

Diff Viewer

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -u -wl -dl %bname -dr %yname %base %mine

With:

  • -e enables you to close WinMerge with a single Esc key press.
  • -x closes WinMerge (after displaying an information dialog) when you start a comparison of identical files.
  • -u prevents WinMerge from adding either path (left or right) to the Most Recently Used (MRU) list.
  • -wl opens the left side as read-only.
  • -dl %bname specifies a description of the original file in the left side title bar.
  • -dr %yname specifies a description of your own file in the right side title bar.
  • %base specifies the left side file with the original file.
  • %mine specifies the right side file with your own file.

Merge Tool

C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -x -u -wl -dl %tname -dr %yname %theirs %mine %merged

With the same options as above except:

  • -dl %tname specifies a description of the repository file in the left side title bar.
  • %theirs specifies the left side file with the repository file.
  • %merged specifies the conflicted file, the result of the merge operation.