1INTERDIFF(1) Man pages INTERDIFF(1)
2
3
4
6 interdiff - show differences between two diff files
7
9 interdiff [-p n] [-U n] [-d PAT] [-Bbiqwz] [[--interpolate] [--combine]
10 [--flip]] [--no-revert-omitted] diff1 diff2
11
12 interdiff {[--help] [--version]}
13
15 interdiff creates a unified format diff that expresses the difference
16 between two diffs. The diffs must both be relative to the same files.
17 For best results, the diffs must have at least three lines of context.
18
19 To reverse a patch, use /dev/null for diff2.
20
21 To reduce the amount of context in a patch, use:
22
23 interdiff -U1 /dev/null patchfile
24
25 Since interdiff doesn't have the advantage of being able to look at the
26 files that are to be modified, it has stricter requirements on the
27 input format than patch(1) does. The output of GNU diff will be okay,
28 even with extensions, but if you intend to use a hand-edited patch it
29 might be wise to clean up the offsets and counts using recountdiff(1)
30 first.
31
32 Note, however, that the two patches must both be relative to the
33 versions of the same original set of files.
34
35 The diffs may be in context format. The output, however, will be in
36 unified format.
37
39 -h Ignored, for compatibility with older versions of interdiff.
40 This option will go away soon.
41
42 -p n When comparing filenames, ignore the first n pathname components
43 from both patches. (This is similar to the -p option to GNU
44 patch(1).)
45
46 -q Quieter output. Don't emit rationale lines at the beginning of
47 each patch.
48
49 -U n Attempt to display n lines of context (requires at least n lines
50 of context in both input files). (This is similar to the -U
51 option to GNU diff(1).)
52
53 -d pattern
54 Don't display any context on files that match the shell wildcard
55 pattern. This option can be given multiple times.
56
57 Note that the interpretation of the shell wildcard pattern does
58 not count slash characters or periods as special (in other
59 words, no flags are given to fnmatch). This is so that
60 “*/basename”-type patterns can be given without limiting the
61 number of pathname components.
62
63 -i Consider upper- and lower-case to be the same.
64
65 -w Ignore whitespace changes in patches.
66
67 -b Ignore changes in the amount of whitespace.
68
69 -B Ignore changes whose lines are all blank.
70
71 -z Decompress files with extensions .gz and .bz2.
72
73 --interpolate
74 Run as “interdiff”. This is the default.
75
76 --combine
77 Run as “combinediff”. See combinediff(1) for more information
78 about how the behaviour is altered in this mode.
79
80 --no-revert-omitted
81 (For interpolation mode only) When a file is changed by the
82 first patch but not by the second, don't revert that change.
83
84 --help Display a short usage message.
85
86 --version
87 Display the version number of interdiff.
88
90 Basic usage:
91
92 interdiff -z 3.2pre1.patch.gz 3.2pre2.patch.gz
93
94 Reversing a patch:
95
96 interdiff patch /dev/null
97
98 Reversing part of a patch (and ignoring the rest):
99
100 filterdiff -i file.c patchfile | \
101 interdiff /dev/stdin /dev/null
102
104 There are currently no known bugs in interdiff; but there are some
105 caveats. If you find a bug, please report it (along with a minimal test
106 case) to Tim Waugh <twaugh@redhat.com>.
107
108 There are some sets of patches in which there is just not enough
109 information to produce a proper interdiff. In this case, the strategy
110 employed is to revert the original patch and apply the new patch. This,
111 unfortunately, means that interdiffs are not guaranteed to be
112 reversible.
113
115 combinediff(1)
116
118 Tim Waugh <twaugh@redhat.com>.
119 Michael K. Johnson <johnsonm@redhat.com>. (man page)
120
121
122
123patchutils 14 May 2004 INTERDIFF(1)