I'm a linux user, and normally I use kdiff3 to compare 3 (text) files between each others (for example, when there are svn conflics).I know of various programs to do that (like diff3 or meld) but none for windows.
I use kdiff3 quite frequently, usually in combination with git (git difftool -t kdiff3). This has stopped working
for me recently, presumably after an archlinux update. It is not just in combination with git. Also attempting
to diff two random text files doing kdiff3 FILE1 FILE2 fails. It opens, does not display the contents for the
file but instead shows an error window saying 'Opening of these files failed: Opening
failed. Unknown error'.
The whole thing sounds like it reads the data correctly but for some reason, incorrectly, decides
that it failed reading the data and therefore displays the error instead of the content of the files.
As you can see, the latest system update was only 2 days old, so that today's update (that fixed the issue? Or was it the system reboot I did after deleting .config/kdiff3rc?) only installed relatively few changes - but it did bring a kernel update to version 6.8.12:
When in code review i want to compare code. Normally an external tool would open. My collegues work in Winmerge but the it policy changed and we now have to work in Kdiff3. Iver installed this tool on my computer but when i press the button in TSF it does not open but provides a message:
You can use the diff command to show differences between two files, or eachcorresponding file in two directories. diff outputs differences between filesline by line in any of several formats, selectable by command line options.This set of differences is often called a `diff' or `patch'. For files thatare identical, diff normally produces no output; for binary (non-text) files,diff normally reports only that they are different. You can use the cmp command to show the offsets and line numbers where twofiles differ. cmp can also show all the characters that differ between thetwo files, side by side. You can use the diff3 command to show differences among three files. Whentwo people have made independent changes to a common original, diff3 canreport the differences between the original and the two changed versions,and can produce a merged file that contains both persons' changes togetherwith warnings about conflicts. You can use the sdiff command to merge two files interactively.Homepage
DiffUtils may be installed in any directory, provided the subdirectorystructure is maintained. Native language support is also active.The interactive mode of Sdiff does not work properly. Only redirection of its output to a file works.General Installation InstructionsRequirementsAll required packages from GnuWin32, i.e. excluding msvcrt.dll, perl, etc, are included in theSetup program and the dependencies zip file.
The FSF's commitment is unwavering, but we urgently need your financial support. New and renewing associate members will help us bring free software to every facet of people's lives. Help us reach our goal of 200 new members by July 19.
Computer users often find occasion to ask how two files differ.Perhaps one file is a newer version of the other file. Or maybe the twofiles started out as identical copies but were changed by differentpeople.
You can use the diff3 command to show differences amongthree files. When two people have made independent changes to a commonoriginal, diff3 can report the differences between theoriginal and the two changed versions, and can produce a merged filethat contains both persons' changes together with warnings aboutconflicts.
Documentation forDiffutilsis available online, asis documentation for most GNU software. You mayalso find more information aboutDiffutilsby runninginfo diffutilsorman diffutils,or by looking at/usr/doc/diffutils/,/usr/local/doc/diffutils/,or similar directories on your system. A brief summary is available byrunning diffutils --help.
Diffutilshas a mailing list for bug reports:.That list is integrated with the debbugs-baseddiffutils issue-tracker.Diffutils uses themailing list for discussion of everything else, including development andenhancement requests.
Development ofDiffutils,and GNU in general, is a volunteer effort, and you can contribute. Forinformation, please read How to help GNU. If you'dlike to get involved, it's a good idea to join the discussion mailinglist (see above).
Diffutilsis free software; you can redistribute it and/or modify it under theterms of the GNU General Public License as published by the FreeSoftware Foundation; either version 3 of the License, or (at youroption) any later version.
When solving a merge conflict using Git and Vim as mergetool, I (suddenly) get a totally different view than I expected and am used to. In the past, I followed this blog post, where the result is a view with four windows: LOCAL BASE REMOTE and then the file below. Now, I get four windows as well, but LOCAL and then LOCAL LOCAL file.
I was not able to figure out if the problem lies within Git or Vim. I removed my global .gitconfig as well as the .vimrc but neither helped. What finally helped was to disguise the HOME directory for Git via this command:
I assume this behavior is related to a new software version of one or both tools because I had not experienced this in he past. The problem is also independent of directory as well as host, it occurs on a different machine as well.
As a workaround you can either downgrade to git version 2.36 (as proposed in the comments by @romainl) or disable the splitbelow and splitright options until a fix is released.It seems like the issue (and a potential fix) is already known to the author of the mergetool driver, so it will hopefully be resolved soon.
On most modern Unix-like systems, even BSD-derived ones like FreeBSD and NetBSD, the diff3 provided is GNU's version in diffutils (formerly GNU Tools). This version has the ability to merge files on its own without relying on ed. It internally invokes diff to do the comparison, but can use any other compatible tool too.[3]
When two people have made changes to copies of the same file, diff3 can produce a merged output that contains both sets of changes together with warnings about conflicts. diff3 can merge three or more sets of changes to a file by merging two change sets at a time.
diff3 can incorporate changes from two modified versions into a common preceding version. This enables users to merge the sets of changes represented by the two newer files. This can be enabled using a command like this: diff3 mine older yours.
This is like subtracting the file older from the file yours and adding the result to the file mine, or as merging into mine the changes that would turn older into yours. This merging is well-defined as long as mine and older match in the neighborhood of each such change. This fails to be true when all three input files differ or when only older differs; this is a conflict. When all three input files differ, the conflict is an overlap.
I am not sure what the issue is all of a sudden. It was working a few times, then all of a sudden it no longer will work. It says it is launching the tool but then nothing happens. I am unable to effectively resolve conflicts and need this to work properly.
When I initially checked my .gitconfig file I didn't have the difftool and mergetool lines. I manually added them and successfully initiated a merge from the comand line as minnsey's suggestion, but through sourcetree I was getting the same error as before (merge dialog opens, merge files were generated, merge dialog closed itself).
After trying various external diff tools, this is what finally worked for me in the release of Source Tree I downloaded today (9/9/2020). Too bad this is not documented anywhere? You need a HOME environment variable for the Windows source tree client to work with external diff and external merge tools.
This is straight up Bullcrap from a "professional" software developer to release something with such a buggy MUST HAVE feature. How the hell can you release a product that for half the people there is no way to open an external merge/diff tool because sourcetree screws something up that leaves you attempting to go through 50 different posts to try and fix, STILL unsuccessfully I might add...
This is completely unacceptable. I'm sorry but until Atlassian gets their head out of their ass and fixes this bug that has been in countless versions, including the latest one, I'm done using it. I've spent 5 hours trying to resolve it, I don't have anymore time to play "find a workaround for my broken features".
I was having the same problem. There are two settings in sourcetree in the Tools->options menu under the Diff tab where you need to set it to Kdiff3: the diff tool and the merge tool. Ensure that both of them are configured to used Kdiff3. I failed to notice that my merge tool settings were set to "System Default". As soon as I fixed this, everything worked normally.
Your answer helped me because the mergetool setting wasn't in my .gitconfig file. Putting it in there manually did not help, but it did make me take a 2nd look at the settings in the sourcetree UI. I did not have the mergetool configured correctly.
Another problem I had was in the sourcetree options. Under the "Diff" tab options there are 2 settings, one for "External Diff Tool" and one for "Merge Tool". I assumed I had to set the "External Diff Tool" because it had the word "External" in it, but it was actually the "Merge Tool" that I had to set in order for it to work. This should be called "External Merge Tool". -_-
In my case there's a tweak to this issue: I have a merge with a number of conflicts to resolve. I can resolve 1 conflict using kdiff3 (the KDiff3 commands configured as suggested by Joshua Brown). After this one conflict is resolved, I can't resolve any other - KDiff3 doesn't launch, as described above.
b1e95dc632