6

Is it possible to use Meld as a merge tool when using Git Extensions on Windows?

4 Answers 4

3

In Git Extension: Settings -> Git Config

Merge tool: meld
Path to mergetool: C:/Program Files (x86)/Meld/Meld.exe
Merge tool command: "C:/Program Files (x86)/Meld/Meld.exe" --diff "$BASE" "$LOCAL" "$REMOTE" --output "$MERGED"
2
  • This answer doesn't save merged files for me, nor is it how git mergetool launches Meld. See my answer below which uses the git way of launching it & saves correctly.
    – Thomas W
    Commented Nov 24, 2016 at 2:41
  • I'm not totally clear why, but with the --diff flag, the --output param seems to be ignored. Removing it causes the file to save to $MERGED correctly. (As other comments have suggested, this could be a Meld 3.x vs 2.x issue?)
    – Coderer
    Commented Sep 27, 2021 at 11:04
1

Yes it is, in response to this issue.

2
  • meld is a default difftool, but not a default mergetool. That ticket is still open as of 2016-05-09
    – cori
    Commented May 9, 2016 at 13:15
  • @cori you're right. I'll accept Tomasz's answer as it's more useful if you are looking for merge as well as diff. Commented May 9, 2016 at 14:22
1

Like Thomas, the accepted answer didn't quite work for me. The merged file was not saved after meld was closed. However, Thomas's answer didn't work for me either. While the file did save, it opened in Meld with the merged markup.

Instead, I'm using a command line I've been using with Sourcetree. Here's what worked for me.

Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\" --auto-merge
1
  • --auto-merge at the end was the missing part for me
    – nbout
    Commented Nov 15, 2019 at 13:02
1

This answer is correct. The other answer won't save the merge result/ changes to your actual workspace file!

In Git Extension: Settings -> Git Config

Mergetool = meld    (just type it in, don't use the combo)
Path to mergetool = </path/to/Meld.exe>
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\"

I had been struggling to get Meld working with GitExtensions, trying the previous answer & related posts.

This is a revised answer -- I had previously posted the command-line 'git mergetool' uses, but that didn't offer a clean 3-way merge with ancestor; instead the center pane showed conflict markers.

See also my GitHub comment on the GitExtensions feature-request discussing this.

1
  • This is the right answer for Meld 3.0 and above I think. Meld 2.0 has no problem with the accepted answer but not working for 3.0. Thanks Thomas W
    – CS Pei
    Commented Mar 11, 2021 at 3:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.