![]() ![]() I've tried a lot of the tools mentioned here and none of them have quite been what I'm looking for. Two base, two changes, and one resulting merge. PS: If one tool one day supports 5 views merging, this would really be awesome, because if you cherry-pick commits in Git you really have not one base but two. ![]() This makes merging somewhat harder in complex cases. The merge view (see screenshot) has only 3 panes, just like SourceGear Diff/Merge. So you can have some history diff on all files much simpler. Meld is a newer free tool that I'd prefer to SourceGear Diff/Merge: Now it's also working on most platforms (Windows/Linux/Mac) with the distinct advantage of natively supporting some source control like Git. Check that merge screens-shot and you'll see it's has the 3 views at least. SourceGear Diff/Merge may be my second free tool choice. Perforce tries to make it a bit hard to get their tool without their client. You cannot edit manually the files and you cannot manually align. My main disappointement with that tool is its kind of "read-only" interface. The Perforce Visual Client ( P4V) is a free tool that provides one of the most explicit interface for merging (see some screenshots). It has many features like advanced rules, editions, manual alignment. It integrates with many source control and works on Windows/Linux. It's somewhat less visual than P4V but way more than WinDiff. The good thing with its merge is that it let you see all 4 views: base, left, right, and merged result. Hope this helps.Beyond Compare 3, my favorite, has a merge functionality in the Pro edition. So if the above description doesn't work for you chances the problem lies somewhere else. However I tried creating an empty repo somewhere on my drive with git init, add a file, commit it, then modify it, then I tried difftool and it worked. I'm not sure what was the problem in that repo. Note: I had a repository in which even if I did issue the git difftool or git mergetool commands P4Merge wouldn't start. Then just use git difftool or git mergetool to your hearts content. So remove other stuff like difftool.path and all that. ![]() If p4merge is in this list then you just need to add the path where p4merge.exe resides to your %PATH% (on Windows I recommend Rapid Environment Editor for this).Īfter this is done you just need the following config to be in your. It'll list the available tools Git can use (because they've found them in your %PATH%) and the tools it could use (if they were installed). You can tell if this is the case or not by running git difftool -tool-help. ![]() Not sure if helps, but recent versions of Git support P4Merge (I use git version 2.17.0. When type of conflict is removed file conflict, git difftool command opens p4merge. I tried Smooth Git + P4merge but it does not work for me also I tried to do as described in External Merge and Diff Tools but I did not understand that. But when I use git difftool command in git bash, I expect p4merge but I see internal implementation of diff in git bash. =C:/Program Files/Perforce/p4merge.exeĭ=C:/Program Files/Perforce/p4merge.exe Git config -global "C:/Program Files/Perforce/p4merge.exe"Īnd these lines are from git config: merge.tool=p4merge Git config -global "C:/Program Files/Perforce/p4merge.exe" I follow this article and this one to setup and config p4merge: git config -global merge.tool p4merge I want to use p4merge as Git diff/merge tool. ![]()
0 Comments
Leave a Reply. |