Description: Tool for Comparison and Merge of Files and Directories.
Shows the differences line by line and character by character (!).
Provides an automatic merge-facility and an integrated editor for comfortable solving of merge-conflicts.
Supports KIO on KDE (allows accessing ftp, sftp, fish, smb etc.).
Konqueror context menu plugin included.
Unicode & UTF-8 support
Translations by the KDE-I18N-Team: Interface: az, bg, br, ca, cs, cy, da, de, el, en, en_GB, es, et, fr, ga, gl, hi, hu, is, it, ja, ka, lt, nb, nl, pl, pt, pt_BR, ro, ru, rw, sr, sr@Latn, sv, ta, tg, tr, uk, zh_CN
Documentation: da, de, es, et, fr, it, nl, pt, svLast changelog:
KDiff3 0.9.96: KDiff3FileItemActionPlugin: Context menu plugin for Dolphin. And several other improvements. (for details see the homepage)
I would be great to add in search dialog an option/button to show next found item written in the search dialog, not only the first found and stop. I mean here that I miss in kdiff3 seraching feature from kate/kwrite.
What changed in last release 0.9.89? Its same also in 0.9.90 .... if starting Kdiff3, first of all I see for a moment something - maybe kdiff window or so - then it disapears and after second Kdiff3 is UP and READY. Its annonying.
Thanks
For the moment there is no support, but I have plans for supporting normal unified diff on my todo list. Possibly this will also work for bzr diff.
Joachim
In contrast to Meld this app has
really a bad GUI. But KDiff3 is quite
useful if you need KIO protocols.
But perhaps you can use FUSE/SSHFS to mount some filetypes usually only accessable via KIO. Then you can use Meld with these too.
Thanks for the recommendation.
I know Kompare already, and its
GUI is indeed a bit more clean, but it
destroys UTF-8 files unfortunately which makes it unusable at the moment for me.
it would be useful (to me) if the text of kword/openoffice could also be compared using a plugin.
Currently, the version control system of openoffice (and msword) leave a lot to be desired. The paneled diff system used here is much more useful.
I agree, it would be nice to compare other filetypes, but currently it's not my focus and I think it's a huge thing to implement. Support for other file-types might eventually extend to binary files (hex-view), text-documents (doc/html/xls/ppt/pdf), graphics (gif/jpg/svg), audio, video and so on. The first problem is to find ways to highlight differences specific for the filetype. The second problem is to integrate everything in one program (plugin-system?). Another aspect would be merging and hence writing all these formats to disk. Enough possibilities for many developers.
Joachim
One very useful feature would be that if one could open a patch file and then compare it to an source file or directory, then KDiff could show the original source file so that changes would show in the different color.
I would be then very easy to check the changes that the patch will cause.
T Jari
Currently you can view *.patch-files for single files in Konquerer via context-menu "Preview with KDiff3Part". But patch-files must be in unified format and one of the two files mentioned in the patch-file must be available. I consider to allow this for directory-patch-files too, but that will be much more effort.
Is this what you meant?
Joachim
I was thinking that one could take a patch-file produced by diff-tool (as B-directory in KDiff) and then compare original sources-directory(as A-base directory) to that direcory (produced by diff-file(in B)), so that diff-file would look as an another source directory, which then could be merged by KDiff if one chooses to do so.
But I have no idea if it is possible to do that easily :-).
T Jari
One of the biggest features I've been searching for in a diff-like application I've not found in any linux environment. Araxis (a windows merge program) has a feature that not only allows you to compare 3 different files much like this app, but you can merge from any of the three files inline. Meaning, you can see 7 different changes in file A to B, and you can click on change 1 and merge it from A to B...leaving the other 6 changes still there.
This type of feature is extremely useful in redundant systems where the config file may have OS/Server info that changes just slightly between versions (ip address maybe). With this feature, you could merge just the truely relevant differences, leaving necessary differences intact.
Also, I'd love to be able to edit a file in the gui. Mainly for the reason above. I have two config files and want to merge everything over...but change 1 line of code that needs to be different. Then save each file respectively.
Love the app though, this is my new favorite for my linux workstation. It does 90% of what I need to do (3 files, line numbers, color coding, network shares). Keep up the good work!
Although not as intuitive as editing the text directly in the diff-window you can achieve a similar result by either first selecting "Merge->Choose [A|B|C] Everywhere" and then changing the one thing you want to change, or doing your changes first and then selecting "Merge->Choose [A|B|C] For All Unsolved Conflicts".
Joachim
Ratings & Comments
26 Comments
9 +nice diff app
I would be great to add in search dialog an option/button to show next found item written in the search dialog, not only the first found and stop. I mean here that I miss in kdiff3 seraching feature from kate/kwrite.
Great application, use it alot. thanks :D RPM for SLED 10: http://donnie.110mb.com/downloads.php?cat_id=2 For GPG key, please look at the front page of my site.
What changed in last release 0.9.89? Its same also in 0.9.90 .... if starting Kdiff3, first of all I see for a moment something - maybe kdiff window or so - then it disapears and after second Kdiff3 is UP and READY. Its annonying. Thanks
On my machine I don't notice the slowdown you seem to experience. How fast is your machine? Joachim
Would it be possible to support displaying bzr's diff format?
For the moment there is no support, but I have plans for supporting normal unified diff on my todo list. Possibly this will also work for bzr diff. Joachim
In contrast to Meld this app has really a bad GUI. But KDiff3 is quite useful if you need KIO protocols. But perhaps you can use FUSE/SSHFS to mount some filetypes usually only accessable via KIO. Then you can use Meld with these too.
Kompare may be what you're looking for. It has a very nice UI. KDiff3 is targetted at a slightly different task, from what I can tell.
Thanks for the recommendation. I know Kompare already, and its GUI is indeed a bit more clean, but it destroys UTF-8 files unfortunately which makes it unusable at the moment for me.
A SlackWare TGz package with SlackBuild Script is Ready to DownLoad!!! http://www.slacky.it/ http://www.slacky.it/index.php?option=com_remository&Itemid=1&func=fileinfo&filecatid=1029&parent=category
Can KDiff3 apply patches?
No, applying patches is not possible in the current version.
Change in ./src/pdiff.cpp: line 465 to: caption = ( f1.isEmpty()? QString("") : QString(".../")+f1 ); line 466 to: caption += QString(caption.isEmpty() || f2.isEmpty() ? QString("") : QString( " ")) + ( f2.isEmpty()? QString("") : QString(".../")+f2 ); line 467 to: caption += QString(caption.isEmpty() || f3.isEmpty() ? QString("") : QString(" ")) + ( f3.isEmpty()? QString(""): QString(".../")+f3 ) ; line 470 to: m_pKDiff3Shell->setCaption( caption.isEmpty() ? QString("KDiff3") : caption+QString(" - KDiff3"));
Thanks for the patch. Should be fixed in KDiff3-0.9.86. Joachim
it would be useful (to me) if the text of kword/openoffice could also be compared using a plugin. Currently, the version control system of openoffice (and msword) leave a lot to be desired. The paneled diff system used here is much more useful.
I agree, it would be nice to compare other filetypes, but currently it's not my focus and I think it's a huge thing to implement. Support for other file-types might eventually extend to binary files (hex-view), text-documents (doc/html/xls/ppt/pdf), graphics (gif/jpg/svg), audio, video and so on. The first problem is to find ways to highlight differences specific for the filetype. The second problem is to integrate everything in one program (plugin-system?). Another aspect would be merging and hence writing all these formats to disk. Enough possibilities for many developers. Joachim
One very useful feature would be that if one could open a patch file and then compare it to an source file or directory, then KDiff could show the original source file so that changes would show in the different color. I would be then very easy to check the changes that the patch will cause. T Jari
Currently you can view *.patch-files for single files in Konquerer via context-menu "Preview with KDiff3Part". But patch-files must be in unified format and one of the two files mentioned in the patch-file must be available. I consider to allow this for directory-patch-files too, but that will be much more effort. Is this what you meant? Joachim
I was thinking that one could take a patch-file produced by diff-tool (as B-directory in KDiff) and then compare original sources-directory(as A-base directory) to that direcory (produced by diff-file(in B)), so that diff-file would look as an another source directory, which then could be merged by KDiff if one chooses to do so. But I have no idea if it is possible to do that easily :-). T Jari
Now I understand. I will investigate to see what I can do. But it will take some time. Joachim
One of the biggest features I've been searching for in a diff-like application I've not found in any linux environment. Araxis (a windows merge program) has a feature that not only allows you to compare 3 different files much like this app, but you can merge from any of the three files inline. Meaning, you can see 7 different changes in file A to B, and you can click on change 1 and merge it from A to B...leaving the other 6 changes still there.
This type of feature is extremely useful in redundant systems where the config file may have OS/Server info that changes just slightly between versions (ip address maybe). With this feature, you could merge just the truely relevant differences, leaving necessary differences intact.
Also, I'd love to be able to edit a file in the gui. Mainly for the reason above. I have two config files and want to merge everything over...but change 1 line of code that needs to be different. Then save each file respectively.
Love the app though, this is my new favorite for my linux workstation. It does 90% of what I need to do (3 files, line numbers, color coding, network shares). Keep up the good work!
Although not as intuitive as editing the text directly in the diff-window you can achieve a similar result by either first selecting "Merge->Choose [A|B|C] Everywhere" and then changing the one thing you want to change, or doing your changes first and then selecting "Merge->Choose [A|B|C] For All Unsolved Conflicts". Joachim
KDiff3 is cool, but is this the right place for it? Shouldn't it be posted under development tools?
I hope it's acceptable now.