Configure a merge tool for GitKraken on Windows10
Asked Answered
D

8

29

I downloaded GitKraken for working with Git repositories and it works great for everything I need, but I haven't been able to configure it to use a merge tool like WinMerge or Meld.

When the program sees a conflict it shows up a button which says "Open in merge tool". Since I haven't configured a Merge tool, I head over GitKraken's preferences and checked out the "Merge tool" section. "Git Config Default" option was selected there and I could only choose "None" or "Git Config Default" options.

I installed Meld for using it with GitKraken, and after that I tried to follow these steps to make it usable within GitKraken's interface, but GitKraken's merge tool choice options haven't changed.

After running a few commands from those steps and some others trying to make it work my .gitconfig file looks like this:

[user]
    name = <myname>
    email = <mymail>
[filter "lfs"]
[filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
[core]
    autocrlf = true
    excludesfile = C:\\Users\\<myuser>\\Documents\\gitignore_global.txt
[merge]
    tool = meld
[mergetool "meld"]
    path = C:\\Program files (x86)\\Meld\\Meld.exe
[mergetool]
    prompt = false

I'm not really sure what I did and how to make it work... Anyone can help?

Devilish answered 16/4, 2016 at 17:30 Comment(2)
I installed KDiff3 and GitKraken detected it with no further configuration. I used it a bit and it works for me, so my problem is solved. Anyway I leave this question here just in case someone can answer it and it helps others.Devilish
When you specify meld the default merge tool (as you did in the shown gitconfig, in the merge.tool setting), does GitKraken properly launch meld when merging when you specify “Git Config Default” as the merge tool in GitKraken? Because that’s what’s supposed to happen. I suppose that that setting in GitKraken is a separate thing from the configured Git merge tools, and that GitKraken currently only supports a few specific tools out of the box.Anchovy
P
16

GitKraken has finally added support for choosing one of the merge tools listed in your .gitconfig file.

enter image description here

Phlogopite answered 9/1, 2017 at 18:9 Comment(7)
That’s great news!Anchovy
How do you get GitKraken to see other merge tools? I have the unity merge tool installed, but it's not in the list on GitKraken.Kwabena
This seems to be a hard-coded list, and doesn't support just any merge tool you put in .gitconfig. From looking at app.asar, as of version 3.0.1, GitKraken only supports the following: Beyond Compare, FileMerge, Kaleidoscope, and KDiff. The "Git Config Default" option still seems to be broken.Invar
How do you get GitKraken to see Beyond Compare? It's installed, SourceTree sees it, git mergetool sees it, but GitKraken doesn't list it as an option.Planchette
How do you get GitKraken to see Beyond Compare? In my case, it does not appear in GitKraken...Shoer
@DanielSaner - This seems to be a hot question. Look at the upvotes :) Can you be more specific in your comment? What is app.asar? Can you post your .config files?Shoer
@Gabriel I stopped using GitKraken some years back, so I'm not up-to-date 😄 but app.asar is the archive containing the application's source code. You can probably find it in the install directory. Apparently, I unpacked it to check how that config value is interpreted, and found that it only accepts values from a fixed list.Invar
N
9

ONly solution for GitKraken and Windows 10, which I can use:

Filename: C:\Users\my-name\.gitconfig

Content:

[user]
    email = [email protected]
    name = Bart Houkes
[merge]
    tool = meld
[mergetool "meld"]
    path = C:/Program Files (x86)/Meld/Meld.exe
    cmd = \"C:/Program Files (x86)/Meld/Meld.exe\" --diff \"$BASE\" \"$LOCAL\" \"$REMOTE\" --output \"$MERGED\"
Nava answered 30/5, 2017 at 12:26 Comment(0)
H
4

For meld on Linux:

[merge]
    tool = meld

[mergetool]
    keepBackup = false

[mergetool "meld"]
    path = /usr/bin/meld
    cmd = '/usr/bin/meld' --diff $BASE $LOCAL $REMOTE --output $MERGED
    trustExitCode = false
Hitt answered 29/1, 2018 at 21:57 Comment(2)
Hey, never saw the keepBackup option, could you explain a bit the effects, and the reason why you added it?Croix
From here: After performing a merge, the original file with conflict markers can be saved as a file with a .orig extension. If this variable is set to false then this file is not preserved. Defaults to true (i.e. keep the backup files).Hitt
A
3

It seems that as of right now, GitKraken does not fully support all merge tools configured with git-config right now.

In a comment to one of Axosoft’s blog posts about GitKraken, this was discussed:

A User (February 29, 2016)

Any news when using a mergetool works? Is this yet missing or just bugged? I've configured a working mergetool in git global and it works calling it from console but gitkraken just does nothing when clicking "open in mergetool", not even an error message.


James (mod) (March 3, 2016)

There is a known issue with not being able to find the mergetool set and this will be addressed in an upcoming update!

(For some reason, the Disqus plugin on that blog is not loading correctly right now, so you cannot see those comments. I had to look at a cached version from Google to see that)

So it seems that you will have to wait until a future update for GitKraken to support meld or other merge tools (I also tested Beyond Compare on my machine). If KDiff3 works for you, then I guess you’re lucky and you can use that for the time being.

Anchovy answered 16/4, 2016 at 20:43 Comment(0)
M
3

I had the same issue with meld as gitkraken external tool on ubuntu. I resolve that by symbolic link kdiff3 which point on meld binary. gitkraken support kdiff3.

Maybe it will work in the same way on windows. Try to rename meld.exe to kdiff3.exe or make shortcut and add to PATH. Marcin

Miscount answered 3/12, 2016 at 18:26 Comment(0)
N
2

I had the same problem. Try this in .gitconfig

[merge]
    tool = meld
[mergetool "meld"]
    cmd = "C:\\\\Program Files (x86)\\\\Meld\\\\Meld"

Cheers

Nimble answered 13/5, 2016 at 7:30 Comment(4)
In the last update GitKraken team added their own mergetool to the application so I switched to it, but thanks for the advice! I will use it if GitKraken's own mergetool becomes less usefulDevilish
GitKraken's in-app merge tool does not let you edit code before merging whereas kdiff3 does. My 2cKirschner
@Kirschner It does (now) if you upgrade to the Pro version.Invar
Their tool doesn't even do inline change highlighting, and yeah, its for the paid version.Ammann
H
2

for users of diffmerge, this addition to my ~/.gitconfig works for me:

[merge]
tool = diffmerge
[mergetool "diffmerge"]
path = /usr/bin/diffmerge
cmd = /usr/bin/diffmerge \"$LOCAL\" \"$BASE\" \"$REMOTE\" -result \"$MERGED\"
Harewood answered 4/9, 2018 at 0:45 Comment(0)
S
0

just wanna update some... In my case, I installed KDiff3, Beyond Compare & Meld with reboot my window 10 as well. But I still didn't get the option in the dropdown box. But I realized I actually installed to my Z drive(which is my SSD drive I use for programming tools).

So I tried to remove and install back (KDiff3) to the default path C:\Program Files\KDiff3

Guess what? I had finally got it into the dropdown list. I didn't try out the other 2, but I guess It may happen when you installed to (maybe) the other drive or path.

Selfcontent answered 22/5, 2019 at 4:22 Comment(1)
I don't think that Meld is supported so far. :-(Seduction

© 2022 - 2024 — McMap. All rights reserved.