ghalkes:~# command line tools

dwdiff

About dwdiff

dwdiff is a front-end for the diff program that operates at the word level instead of the line level. It is different from wdiff in that it allows the user to specify what should be considered whitespace, and in that it takes an optional list of characters that should be considered delimiters. Delimiters are single characters that are treated as if they are words, even when there is no whitespace separating them from preceding words or delimiters. dwdiff is mostly commandline compatible with wdiff. Only the --autopager, --terminal and --avoid-wraps options are not supported.

The default output from dwdiff is the new text, with the deleted and inserted parts annotated with markers. Command line options are available to change both what is printed, and the markers.

News

dwdiff version 1.8.2 released

The output for the -p and -l options has been fixed to work correctly for UTF-8 characters.

27-07-2010

dwdiff version 1.8.1 released

The context matching now decreases the matched context size exponentially, instead of immediately using the context-less mode if the changes found with context need refining. This results in more intuitive output when increasing the matching context size.

25-07-2010

dwdiff version 1.8 released

This release adds an option to repeat the begin and end change markers at the start and end of a line, if a change crosses a newline.

06-07-2010

dwdiff on Transifex.net

If you wish to help with translating dwdiff, you can now visit the Transifex.net page for dwdiff.

21-03-2010

Download

The source for dwdiff is available here. Older releases are available here.

Several Linux distributions and BSD version are shipping dwdiff packages or build scripts/ports, for example Fedora Linux, FreeBSD and OpenBSD. For some Unix variants or derivatives, dwdiff packages are provided through external repositories:

  • SPARC/Solaris 2.5-10 and x86/Solaris 8-10, provided by Steve Christensen on his sunfreeware.com site.
  • Mac OS X, through MacPorts.
  • Slackware Linux, through Slackbuilds.org and Slacky.eu.
  • The OpenPKG project (a generic Unix/Linux packaging system).
  • Gentoo Ebuild script. To use this, copy it to your Portage overlay directory, enter ebuild <your directory>/dwdiff-1.8.2.ebuild digest, after which you can do emerge dwdiff.

If your distribution does not provide dwdiff packages, you can either build dwdiff from source, or you can try filing a feature request with the maintainers of your distribution.

Contact

You can reach me at: dwdiff @ REMOVE ghalkes.nl.
Releases are also announced on the mailing list
If you wish to help with translations, go to the Transifex.net page for dwdiff.

Copyright Notice

Copyright © 2006-2010 G.P. Halkes
dwdiff is distributed under the GNU General Public License version 3.

Versions of dwdiff before 1.3 were distributed under the Open Software License version 2.0.