Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Can't launch external merge tool (WinMerge) on Windows

I've set the external merge tool to be WinMerge, and I've also tried using the Custom option and pointing it to the exe-file, but I'm having trouble launching either, and I can't find any information on what the custom option needs to work.

When trying to launch external merge tool, a window pops up and disappears really quickly, and no application starts.

2 answers

1 accepted

4 votes
Answer accepted

You can only use WinMerge as an external diff tool, not as an external merge tool (that's why it's not in the list of merge tools).

Ironically despite its name, WinMerge is not a proper merge tool, it only does 2-way comparisons rather than the 3-way merge that Git uses.

Right! Ended up using Beyond Compare. I don't know how I managed to miss the "Merge tool" part and only see the "External diff tool", figures why I couldn't get any merge going. Thanks!

Since 2.16.0 (released 4 days ago), it supports 3-way merges !

Like Mariana Schiff likes this

@Jonathan Demeyerdo you have a working config example?

Like Keith Russell likes this

@Francois du Plessis I use the "custom" option, give the path to Winmerge and give those arguments :

-e -u -dl \"Mine\" -dm \"Merged\" -dr \"Theirs\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"
Like # people like this

I guess I need to look into 3-way merge more that Steve Streetling mentions but I have setup WinMerge as an external tool.  Here are the settings needed.  It sets the display so your local file is on the right site.

The setting location: Tools->Options->Diff
  External Diff Tool: Custom
   Diff Command: C:\Program Files (x86)\WinMerge\WinMergeU.exe
   Arguments: $LOCAL $REMOTE
  External Merge Tool: Custom 
   Merge Command: C:\Program Files (x86)\WinMerge\WinMergeU.exe
   Arguments: /w1 $LOCAL $REMOTE $MERGED

Update:  WinMerge can now do 3 files.  So now you can include the base file.

External Diff Tool: WinMerge
   Diff Command: C:\Program Files\WinMerge\WinMergeU.exe
   Arguments: -wl -dl PreviousVersion -dr Local \"$LOCAL\" \"$REMOTE\"
  External Merge Tool: WinMerge
   Merge Command: C:\Program Files\WinMerge\WinMergeU.exe
   Arguments: -wl -wm -dl PreviousVersion -dm Base -dr Local $LOCAL $BASE $REMOTE -o $MERGED

To explain the arguments:

"-wl" makes left file ($Remote) read only so you don't accidentally start editing the wrong file.

"-wm" read only for the middle ($Base) file

"-dl PreviousVersion" Naming the $Remote file "PreviousVersion"

"-dm Base" Naming the $Base file "Base"

"-dr Local" Naming the $Local file "Local"

"-o" sets up $Merged as the output file as your result of the merge.


Like # people like this

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Sourcetree

Sourcetree for Windows - CVE-2019-11582 - Remote Code Execution vulnerability

A vulnerability has been published today in regards to Sourcetree for Windows.  The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...

5,006 views 0 12
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you