BRIEF DESCRIPTION
Makes browsing diff output easy, converting it to highly-readable highlighted Wikipedia-style HTML. Supports input from diff or rcs/cvs diff. Output is in attractive and 100% valid XHTML/CSS format.

DETAILED DESCRIPTION
Diffh (Diff-HTML) is a command-line program which takes unified diff formatted text files (such as those generated by diff or rcs/cvs diff) as input. It parses the diff information and outputs an HTML document showing a side-by-side visualisation of it. The output format is modeled after the MediaWiki (Wikipedia) diff display.

In addition to representing diff output in a much more readable layout, the program also scans the individual "chunks" of changed lines, and calculates which words have changed. The changed words are highlighted in bold red in the output file, as with the MediaWiki software.

This solves the problem of reviewing diff files with many small changes, particularly those with small changes to long lines or paragraphs. Now the output can be read clearly without having to open a GUI (besides a web browser) or uploading the files to a web service. It is primarily designed for reviewing RCS/CVS changes before committing them.

The output file is 100% valid XHTML, and makes extensive use of CSS styles, so that its appearance can be easily customized (either by changing the output, or by modifying the program source - future versions will allow command-line switches which customize certain aspects of the CSS styles).

This program is different to and more useful in many situations than other GUI-based diff browsers. For developers using a command-line interface, it is less intrusive to use than having to open up a GUI. The output is also more legible, can be easily customized, and can be saved and shared easily.

The program is written entirely in ANSI-compliant C. The current version of the program is a complete, working version, able to parse any diff (including RCS and CVS diffs) and produce the intended output. It has been successfully compiled on Linux, UNIX and Mac OS X (with GCC), and Windows (with both MinGW and Visual C++). Its only shortcoming is that it lacks command-line argument support, and currently only reads from stdin and outputs to stdout.

Future versions of the program will have command-line argument support, including the ability to customize the CSS styles. I also intend to add new features such as the ability to parse an entire RCS history file and produce a full history "site".