'\" t
.\" Title: interdiff
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 23 June 2009
.\" Manual: Man pages
.\" Source: patchutils
.\" Language: English
.\"
.TH "INTERDIFF" "1" "23 June 2009" "patchutils" "Man pages"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
interdiff \- show differences between two diff files
.SH "SYNOPSIS"
.HP \w'\fBinterdiff\fR\ 'u
\fBinterdiff\fR [[\-p\ \fIn\fR] | [\-\-strip\-match=\fIn\fR]] [[\-U\ \fIn\fR] | [\-\-unified=\fIn\fR]] [[\-d\ \fIPAT\fR] | [\-\-drop\-context=\fIPAT\fR]] [[\-q] | [\-\-quiet]] [[\-z] | [\-\-decompress]] [[\-b] | [\-\-ignore\-space\-change]] [[\-B] | [\-\-ignore\-blank\-lines]] [[\-i] | [\-\-ignore\-case]] [[\-w] | [\-\-ignore\-all\-space]] [[\-\-interpolate] | [\-\-combine] | [\-\-flip]] [\-\-no\-revert\-omitted] \fIdiff1\fR \fIdiff2\fR
.HP \w'\fBinterdiff\fR\ 'u
\fBinterdiff\fR {[\-\-help] | [\-\-version]}
.SH "DESCRIPTION"
.PP
\fBinterdiff\fR
creates a unified format diff that expresses the difference between two diffs\&. The diffs must both be relative to the same files\&. For best results, the diffs must have at least three lines of context\&.
.PP
To reverse a patch, use
/dev/null
for
\fIdiff2\fR\&.
.PP
To reduce the amount of context in a patch, use:
.sp
.if n \{\
.RS 4
.\}
.nf
interdiff \-U1 /dev/null patchfile
.fi
.if n \{\
.RE
.\}
.PP
Since
\fBinterdiff\fR
doesn\*(Aqt have the advantage of being able to look at the files that are to be modified, it has stricter requirements on the input format than
\fBpatch\fR(1)
does\&. The output of GNU diff will be okay, even with extensions, but if you intend to use a hand\-edited patch it might be wise to clean up the offsets and counts using
\fBrecountdiff\fR(1)
first\&.
.PP
Note, however, that the two patches must both be relative to the versions of the same original set of files\&.
.PP
The diffs may be in context format\&. The output, however, will be in unified format\&.
.SH "OPTIONS"
.PP
\fB\-h\fR
.RS 4
Ignored, for compatibility with older versions of interdiff\&. This option will go away soon\&.
.RE
.PP
\fB\-p\fR \fIn\fR, \fB\-\-strip\-match=\fR\fB\fIn\fR\fR
.RS 4
When comparing filenames, ignore the first
\fIn\fR
pathname components from both patches\&. (This is similar to the
\fB\-p\fR
option to GNU
\fBpatch\fR(1)\&.)
.RE
.PP
\fB\-q\fR, \fB\-\-quiet\fR
.RS 4
Quieter output\&. Don\*(Aqt emit rationale lines at the beginning of each patch\&.
.RE
.PP
\fB\-U\fR \fIn\fR, \fB\-\-unified=\fR\fB\fIn\fR\fR
.RS 4
Attempt to display
\fIn\fR
lines of context (requires at least
\fIn\fR
lines of context in both input files)\&. (This is similar to the
\fB\-U\fR
option to GNU
\fBdiff\fR(1)\&.)
.RE
.PP
\fB\-d\fR \fIPATTERN\fR, \fB\-\-drop\-context=\fR\fB\fIPATTERN\fR\fR
.RS 4
Don\*(Aqt display any context on files that match the shell wildcard
\fIPATTERN\fR\&. This option can be given multiple times\&.
.sp
Note that the interpretation of the shell wildcard pattern does not count slash characters or periods as special (in other words, no flags are given to
\fBfnmatch\fR)\&. This is so that
\(lq*/basename\(rq\-type patterns can be given without limiting the number of pathname components\&.
.RE
.PP
\fB\-i\fR, \fB\-\-ignore\-case\fR
.RS 4
Consider upper\- and lower\-case to be the same\&.
.RE
.PP
\fB\-w\fR, \fB\-\-ignore\-all\-space\fR
.RS 4
Ignore whitespace changes in patches\&.
.RE
.PP
\fB\-b\fR, \fB\-\-ignore\-space\-change\fR
.RS 4
Ignore changes in the amount of whitespace\&.
.RE
.PP
\fB\-B\fR, \fB\-\-ignore\-blank\-lines\fR
.RS 4
Ignore changes whose lines are all blank\&.
.RE
.PP
\fB\-z\fR, \fB\-\-decompress\fR
.RS 4
Decompress files with extensions \&.gz and \&.bz2\&.
.RE
.PP
\fB\-\-interpolate\fR
.RS 4
Run as
\(lqinterdiff\(rq\&. This is the default\&.
.RE
.PP
\fB\-\-combine\fR
.RS 4
Run as
\(lqcombinediff\(rq\&. See
\fBcombinediff\fR(1)
for more information about how the behaviour is altered in this mode\&.
.RE
.PP
\fB\-\-no\-revert\-omitted\fR
.RS 4
(For interpolation mode only) When a file is changed by the first patch but not by the second, don\*(Aqt revert that change\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Display a short usage message\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Display the version number of interdiff\&.
.RE
.SH "EXAMPLES"
.PP
Basic usage:
.sp
.if n \{\
.RS 4
.\}
.nf
interdiff \-z 3\&.2pre1\&.patch\&.gz 3\&.2pre2\&.patch\&.gz
.fi
.if n \{\
.RE
.\}
.PP
Reversing a patch:
.sp
.if n \{\
.RS 4
.\}
.nf
interdiff patch /dev/null
.fi
.if n \{\
.RE
.\}
.PP
Reversing part of a patch (and ignoring the rest):
.sp
.if n \{\
.RS 4
.\}
.nf
filterdiff \-i file\&.c patchfile | \e
interdiff /dev/stdin /dev/null
.fi
.if n \{\
.RE
.\}
.SH "BUGS"
.PP
There are currently no known bugs in interdiff; but there are some caveats\&. If you find a bug, please report it (along with a minimal test case) to Tim Waugh
\&.
.PP
There are some sets of patches in which there is just not enough information to produce a proper interdiff\&. In this case, the strategy employed is to revert the original patch and apply the new patch\&. This, unfortunately, means that interdiffs are not guaranteed to be reversible\&.
.SH "SEE ALSO"
.PP
\fBcombinediff\fR(1)
.SH "AUTHORS"
.PP
\fBTim Waugh\fR <\&twaugh@redhat.com\&>
.RS 4
Package maintainer
.RE
.PP
\fBMichael K\&. Johnson\fR <\&johnsonm@redhat\&.com\&>
.RS 4
Original man page contributor
.RE