Free wdiff utilities

Wdiff project

The Wdiff program, now maintained by Denver Gingerich, contains a word difference finder and a diff format converter.  This Web site you are visiting is being deprecated, please use the Savannah project page instead. The remaining bits of this site, including this page of course, are doomed to disappear.

Here are a few random notes from the previous maintainer.



Contents

1   Recovering old distributions

To unpack any of the oldish versions 0.5, 0.5h or 0.5g of Wdiff, use a a recipe like this one:

       git clone git://github.com/pinard/wdiff.git
    cd wdiff
       git checkout ':/Release 0.5g'

2   Remaining cleanup

  • Submit accumulated suggestions from local email folders

3   wdiff option integration

  -C => ..
  -a => -A
  -c => -i
  -h => ..

* -1, --no-deleted           
inhibit output of deleted words
* -2, --no-inserted          
inhibit output of inserted words
* -3, --no-common            
inhibit output of common words
  -B, --ignore-blank-lines   
ignore blank lines
  -C, --context=LINES        
as -c, also select context size in lines
  -D, --ifdef=NAME           
output #ifdef NAME format
  -F, --show-function-line=REGEXP   
show previous context matching REGEXP
  -H, --speed-large-files    
go faster, for when numerous small changes
  -I, --ignore-matching-lines=REGEXP   
ignore lines matching REGEXP
  -L, --label=LABEL          
use from/to LABEL instead of file name (twice)
  -N, --new-file             
consider missing files to be empty
  -P, --unidirectional-new-file     
consider missing old files to be empty
  -S, --starting-file=FILE   
resume directory comparison with FILE
  -T, --initial-tab          
produce TAB instead of initial space
  -U, --unified=LINES        
as -u, also select context size in lines
  -W, --width=COLUMNS        
use width of COLONS
  -X, --exclude-from=FILE    
ignore files matching patterns from FILE
  -a, --text                 
report line differences (text file default)
  -b, --ignore-space-change  
ignore amount of white space
  -c, --context              
output context diffs (default 3 context lines)
  -d, --minimal              
try harder for a smaller set of changes
  -e, --ed                   
output a valid ed script
  -f, --forward-ed           
mix between -e and -n (not very useful)
  -h                         
(ignored)
  -i, --ignore-case          
ignore case differences
  -l, --paginate             
paginate output through pr
* -l, --less-mode            
variation of printer mode for less
  -n, --rcs                  
output RCS format (internally used by RCS)
* -n, --avoid-wraps          
do not extend fields through newlines
  -p, --show-c-function      
show which C function for each change
* -p, --printer              
overstrike as for printers
  -q, --brief                
only says if files differ (binary default)
  -r, --recursive            
recursively compare subdirectories
  -s, --report-identical-files      
report when two files are the same
* -s, --statistics           
say how many words deleted, inserted etc.
  -t, --expand-tabs          
expand tabs to spaces in the output
* -t, --terminal             
use termcap as for terminal displays
  -u, --unified              
output unidiffs (default 3 context lines)
  -v, --version              
output version information and exit
  -w, --ignore-all-space     
ignore white space
* -w, --start-delete STRING  
string to mark beginning of delete region
  -x, --exclude=PATTERN      
ignore files (dirs) matching PATTERN
* -x, --end-delete STRING    
string to mark end of delete region
  -y, --side-by-side         
use side by side output format
* -y, --start-insert STRING  
string to mark beginning of insert region

  • -z, --end-insert STRING    string to mark end of insert region

4   diff notes

  • -Wb should disregard white lines even if non empty
  • --ifdef=NAME doc may be wrong in Invoking diff
  • Notes on Handling Files that Do Not Fit in Memory
  • $(diff_o) (so getopt, regex, etc.) has diff.h as dependencies

Last modified: 2009-12-23 05:01