KDiff3 -- Diff-icult?
Benefits of KDiff3 usage for programmers and "civilians"

KDE User and Administrator Conference

2004 KDE Community World Summit

Speaker: Joachim Eibl

Language: English

Talk is scheduled for: Saturday, 28th of August 2004, 13:45 - 14:30


Check the Schedule for an overview of all talks during this conference.


KDiff3 is a tool that allows to graphically compare and merge text-files and directories. (Homepage: http://kdiff3.sourceforge.net. KDiff3 is also in the KDE-CVS in kdeextragear-1.)

Most other graphical diff tools have merge capabilities. But usually they only allow to select either source, but few tools provide a complete editor that allows to modify the result, if a simple source selection isn't enough. KDiff3 shows the source files and for each change lets the user choose the lines from one or more inputs and allows editing of the result. KDiff3 also supports a three-way merge. Hence the '3' in 'KDiff3'. The first input file is treated as the base and the other files were modified independantly (e.g. by different programmers). Knowing a common base allows KDiff3 to automatically choose the appropriate input where only one of the other inputs changed. Places that were changed in both files are conflicts that the user must solve manually.

The target audience of this talk are potential KDiff3-users: People who often need to compare or merge text-files. (Developers, documentation-authors, translators, version-control users, etc.)

The presentation will focus on how to efficiently use KDiff3 for different comparison and merge tasks and will show, how the features were meant to be used. During the presentation KDiff3 will actively be used for demonstration.

Topics include:

  • Comparing 2 files:
    • Showing differences character by character
    • Special treatment for white-space differences
    • Word wrap
    • Using the line-matching-preprocessor to suppress unwanted differences.
  • Merging 2 files
    • Navigation options
  • Merging 3 files with the first file being a common base
    • What steps can be automated?
  • Comparing 2 directories
    • File patterns, Cvs-ignore
    • File comparison mode: Binary, date-compare, size-compare, full analysis 
  • Merging 2 or 3 directories
  • KIO-support
  • Using the KDiff3Part in KDevelop
  • Using KDiff3 with version-control systems.
  • Using KDiff3 without KDE. (Supported platforms, missing features.)
  • Future features

About Joachim Eibl

Joachim Eibl

Dipl. Ing. Joachim Eibl works for Rohde & Schwarz in Munich, where he develops software for measurement devices. His first programming steps he did on a pocketcomputer and later on an Amiga for which he wrote a program that won the "Program of the Month"-contest in the Amiga-Magazine. Joachim graduated in communications engineering (Elektrotechnik, Studienzweig Nachrichten- und Informationstechnik) at the Technical University of Vienna. He started KDiff3 in 2002 because he found the commercial tools used at work lacking certain important features, but it's a spare time project for which he doesn't get paid.


Suggestions and inquiries direct please to KDE aKademy Team.