Skip to content

blais/xxdiff

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
adm
 
 
bin
 
 
 
 
doc
 
 
etc
 
 
lib
 
 
old
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

xxdiff-qt6: Updated Graphical File And Directories Comparator And Merge Tool

Description

This is a fork of xxdiff, a graphical file and directories comparator and merge tool. See there for full information about this program, including documentation and more instructions.

Features

  • Comparing two files, three files, or two directories (shallow and recursive);
  • Horizontal diffs highlighting;
  • Files can be merged interactively and resulting output visualized and saved;
  • Has features to assist in performing merge reviews/policing;
  • Can unmerge CVS conflicts in automatically merged file and display them as two files, to help resolve conflicts;
  • Uses external diff program to compute differences: works with GNU diff, SGI diff and ClearCase's cleardiff, and any other diff whose output is similar to those;
  • Fully customizable with a resource file;
  • Look-and-feel similar to Rudy Wortel's/SGI xdiff, it is desktop agnostic (i.e. will work equally well with KDE or Gnome);
  • Features and output that ease integration with scripts.

xxdiff was (and probably still is) tested daily in a merge reviewing/policing context by more than 50 engineers at discreet, and since this task is a significant part of their development process, many of the features are a direct result of suggestions from these people while the author was working there.

Unicode and Inline Editing

xxdiff does not support comparing files encoded with Unicode. Also, it does not support inline editing of the diffed files. If you need these features, you could try emacs or Meld (although both of these lack some of the most interesting features of xxdiff).

Documentation

Screenshots

Download

  • Source code can be found in the public GitHub repository, here:

    http://github.com/blais/xxdiff

    There are no releases. Pick up the source for from Github.

Tools

xxdiff comes with a bunch of wrapper Python scripts that invoke xxdiff in creative ways. The author has been using these for a long time now and decided for version 3.0 to clean them up and make them a little more generic so everyone can use them. As of version 3.2, the standalone scripts have been refactored a great deal, to share code together and to make them more stable. All this code is now distributed with xxdiff, in an xxdiff Python package, which you can leverage to build your own file transformation scripts around xxdiff.

See the document Helper Scripts for xxdiff for full details.

The scripts are available in the xxdiff distribution. To install them and the accompanying Python package, use the standard distutils procedure:

su -  # before root
cd xxdiff-3.x
python setup.py install

Other tools can be found in the distribution under the tools/ directory (CVS, ClearCase, etc.).

Reporting Bugs

Installation

Dependencies

Build dependencies are:

  • Qt5, Qt6 or higher
  • A C++ compiler (g++ or clang), flex and yacc

Runtime dependencies are:

  • Qt5, Qt6 or higher

Portability

The Qt6 version of xxdiff was only tested on Fedora GNU/Linux and Ubuntu Linux.

Copyright and License

xxdiff Copyright (C) 2001-2022 Martin Blais. All Rights Reserved.

This code is distributed under the GNU General Public License;

Authorship

About

Graphical File And Directories Comparator And Merge Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published