Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
DWDIFF(1)		   Delimited word diff program		       DWDIFF(1)

NAME
     dwdiff - a delimited word diff program

SYNOPSIS
     dwdiff [OPTIONS] OLD FILE NEW FILE
     dwdiff [OPTIONS] --diff-input [DIFF FILE]

DESCRIPTION
     dwdiff  is  a  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  spec-
     ify  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 command-line 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 in-
     serted parts annotated with markers. Command line options are available  to
     change both what is printed, and the markers.

OPTIONS
     dwdiff  accepts  the following options (Note that all strings will first be
     escape expanded. All standard \-escapes are supported, as well as \u and \U
     Unicode escapes):

     -h, --help
	    Display a short help message.

     -v, --version
	    Print version and copyright information.

     -d delimiters, --delimiters=delimiters
	    Specify a list of characters to be used as delimiters.  The  default
	    is empty.

     -P, --punctuation
	    Use  punctuation characters as delimiters. The exact set of punctua-
	    tion characters depends on the current locale.

     -W whitespace, --white-space=whitespace
	    Specify a list of characters to be used as whitespace.  The  default
	    set of whitespace characters depends on the current locale.

     -u, --diff-input
	    Interpret the input as the output from diff in the Unified Diff for-
	    mat  (usually produced by diff -u). In this case only one input file
	    is allowed. This option allows reformating diff output with  dwdiff,
	    and is useful for example to post-process the output of svn diff.

     -1, --no-deleted
	    Suppress printing of words deleted from the first file.

     -2, --no-inserted
	    Suppress printing of words inserted in the second file.

     -3, --no-common
	    Suppress printing of words common to both files.

     -L[width], --line-numbers[=width]
	    Show  line	numbers at the start of each line. The line numbers dis-
	    played are the line number in the old file and the	line  number  in
	    the  new file respectively. The optional width argument is the mini-
	    mum number of positions per line number.

     -Cnum, --context=num
	    Show num lines of context before and after each changes. A line with
	    only -- is printed between blocks of changes.

     -s, --statistics
	    Print statistics when done. The numbers printed include  the  number
	    of words from in both files, the number of deleted words, the number
	    of	inserted  words,  and the number of changed words. The number of
	    changed words is counted as the number of  words  that  are  removed
	    from  the first file, and the number of words that replace them from
	    the second file. All of these numbers are also expressed as  a  per-
	    centage  of  the  total  number  of words in the file the words came
	    from.

     -i, --ignore-case
	    Ignore differences in case when comparing words. This option is only
	    available if the diff program that is called provides it.

     -I, --ignore-formatting
	    Ignore differences in formatting of characters. This option switches
	    to using the Unicode  compatibility  decomposition	instead  of  the
	    canonical  decomposition.	The compatibility decomposition discards
	    formatting information. For example, the ligature fi will be  decom-
	    posed  into  two separate characters for the purposes of comparison.
	    However, also super- and subscript will be regarded equal as well as
	    different rotations of the same character.

     -c[spec], --color[=spec]
	    Color mode. The optional spec can be used to customize  the  colors.
	    spec  consists  of [delete],[insert]. If either is omited it will be
	    set to its default color (bright red or bright green  respectively).
	    Both  parts of the spec consist of [foreground][:background]. To ob-
	    tain a list of permissible color names, use  the  word  ``list''  as
	    spec.  Alternatively, you can specify any escape sequence to set at-
	    tributes as a color by prepending e:.

	    The standard markers for the begin and end of deleted  and	inserted
	    text  are  suppressed, but any markers specified on the command line
	    will still be printed.

     -l, --less-mode
	    As -p but also overstrike deleted whitespace.

     -p, --printer
	    Use overstriking with an  underscore  and  bold  text  to  emphasize
	    changes.  This  is implemented by first printing the underscore or a
	    duplicate of the character to be printed, followed by  a  backspace,
	    followed  by  the character.  On regular terminals you won't see any
	    effect. The less(1) command will however show  underlined  and  bold
	    text.

	    The  standard  markers for the begin and end of deleted and inserted
	    text are suppressed, but any markers specified on the  command  line
	    will still be printed.

     -mnum, --match-context=num
	    Use  num words of context before and after words for matching. Words
	    in the old text will then only match words in the new text if  words
	    surrounding them are also equal. This improves the output for dwdiff
	    for  large	changes  with frequently occurring words. However, using
	    context requires more disk space and more processing time.	The  de-
	    fault  value is 1. Set this option to 0 to revert to the pre 1.5 be-
	    havior.

     --aggregate-changes
	    Allow multiple close changes to be treated as one change, if context
	    words are used (see --match-context). This option reduces  the  pro-
	    cessing  time  as  the  changes reported by the diff program are not
	    post-processed to give more precise results.

     -A algorithm, --algorithm=algorithm
	    Select the algorithm to be used for determining  differences.  There
	    are  three	possible values for algorithm: best, which tries to find
	    the minimal set of changes, normal, which trades some optimality for
	    speed, and fast, which assumes that the input is large and	contains
	    few changes. By default the normal algorithm is used.

     -S[marker], --paragraph-separator[=marker]
	    Show  insertion  or deletion of blocks of lines with only whitespace
	    characters.  A special marker is inserted into the output  to  indi-
	    cate these blocks. The default marker is --.

     --wdiff-output
	    Create  wdiff compatible output. The dwdiff program uses a different
	    output algorithm, which provides a more intuitive output.

     -w string, --start-delete=string
	    Specify a string to mark begin of deleted text. The default is [-.

     -x string, --stop-delete=string
	    Specify a string to mark end of deleted text. The default is -].

     -y string, --start-insert=string
	    Specify a string to mark begin of inserted text. The default is {+.

     -z string, --stop-insert=string
	    Specify a string to mark end of inserted text. The default is +}.

     -R, --repeat-markers
	    Repeat the begin and end markers at the start and end of line  if  a
	    change crosses a newline.

     --profile=name
	    Load  the  profile	with  name  name  from the .dwdiffrc file in the
	    user's home directory. Only the last profile named is actually read,
	    unless it is followed by a --no-profile option. By default the  pro-
	    file named default is read.

     --no-profile
	    Disable  reading  of  profiles, unless followed by another --profile
	    option.  This also disables reading the default profile.

     A single dash (-) as a file can be used to denote standard input. Only  one
     file can be read from standard input. To stop dwdiff from interpreting file
     names that start with a dash as options, one can specify a double dash (--)
     after which dwdiff will interpret any following arguments as files to read.

     The  exit status of dwdiff indicates the result of the comparison: 0 if the
     files are the same, 1 if the files are different. Should  an  error  occur,
     dwdiff will exit with status 2.

PROFILES
     Since version 2.1.0, dwdiff allows users to create profiles. A profile is a
     set  of options that can be loaded using the --profile option. Profiles are
     specified in the .dwdiffrc in the user's home directory. The format of  the
     .dwdiffrc file is as follows:

     A	line  contains either a profile header (a text enclosed in []) or a long
     option name without leading dashes, optionally followed by  it's  argument.
     Arguments	are stripped of whitespace surrounding it. If an argument starts
     and ends with matching double or single quotes, these are removed as  well.
     Comments can be included by starting a line with a hash mark (#).

     If  no  profile is specified, the profile named default will be loaded, un-
     less the --no-profile option is specified. Here is an example .dwdiffrc:

	  [default]
	  color red,blue
	  punctuation

	  [html]
	  start-delete <span style="color=red">
	  stop-delete </span>
	  start-insert <span style="color=green">
	  stop-insert </span>

	  [space-only]
	  # Use only a space as whitespace.
	  white-space " "

BUGS
     If you think you have found a bug, please check that you are using the lat-
     est version of dwdiff  <http://os.ghalkes.nl/dwdiff.html>.  When  reporting
     bugs, please include a minimal example that demonstrates the problem.

AUTHOR
     G.P. Halkes <dwdiff@ghalkes.nl>

COPYRIGHT
     Copyright (C) 2006-2017 G.P. Halkes and others
     dwdiff is licensed under the GNU General Public License version 3.
     For  more details on the license, see the file COPYING in the documentation
     directory. On Un*x systems this is usually /usr/share/doc/dwdiff-$VERSION$.

SEE ALSO
     dwfilter(1), wdiff(1), diff(1)

$VERSION$			   2018/12/03			       DWDIFF(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dwdiff&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help