1REPODIFFER(1)                  Development Tools                 REPODIFFER(1)
2
3
4

NAME

6       repodiffer - report differences between repository histories
7

SYNOPSIS

9       repodiffer [--ignore parts] [--quiet] [--verbose level] [--show-equal]
10                  [--changes-only] [--full-hash] [--tree-diff]
11                  [--legacy-map mapfile] [--single id1=id2] repo-or-stream1
12                  repo-or-stream2
13

DESCRIPTION

15       This tool reports differences between two repository histories. The
16       histories may be presented as git repository directories or as
17       fast-import streams, or as one of each.
18
19       Revisions are first paired into correspondence by committer and commit
20       date. Any revision in the left-hand (L) history that cannot be paired
21       with a revision in the right-hand (R) history is interpreted as having
22       been deleted; any revision in the R history that cannot be paired with
23       a revision in the L history is interpreted as having been inserted.
24
25       For each changed, inserted, or deleted revision, a summary line is
26       emitted identifying it by commit ID (for a repo) or mark (for a stream
27       file) in the first history. In change reports, the corresponding
28       revision in the second history is similarly identified and the report
29       indicates the nature of the changes.
30
31       A trailing statistics line summarizes the operation counts.
32
33       Tags and heads are compared as well. Two tags match if their contents
34       do and they point at paired commits.
35

OPTIONS

37       The --changes-only or -c option shows changes only, suppressing listing
38       of insertions and deletions.
39
40       The --show-equal or -e option enables listing of equal commits.
41
42       The --legacy-map or -m option takes a legacy map file in the format
43       produced by reposurgeon, associating legacy commit IDs with
44       committer/time pairs. If the tool can find a matching committer/time
45       pair for a commit in this file, reports on this commit (and any matched
46       pair it is part of) will be decorated with the legacy ID of the commit.
47       (This will work, in particular, for displaying Subversion revisions of
48       commits lifted from a Subversion file.)
49
50       The --single or -s option compares single commits in detail. The
51       argument must be a pair of commit IDs (marks or hashes) separated by an
52       equals sign.
53
54       The --ignore or -i option causes differences between specified parts to
55       be ignored. Part tags are as follows:
56
57       author
58           Ignore differences in the (name part of the) author field.
59
60       authordate
61           Ignore differences in the author date part.
62
63       committer
64           Ignore differences in the (name part of the) committer field.
65
66       committerdate
67           Ignore differences in the commit date part
68
69       parents
70           Ignore differences in parent links.
71
72       timezone
73           Apply a modulo 360 operation to timestamps before comparison, so as
74           to ignore time-zone skew.
75
76       tree
77           Ignore tree-content differences. (It is not expected that this
78           option will be useful; it is provided for completeness's sake.)
79
80       gitignore
81           Ignore .gitignore and .cvsignore files when comparing tree content.
82           Useful if you are comparing translations done by pairs of lifting
83           tools only one of which lifts these; a notable case of this is
84           reposurgeon vs. git-svn.
85
86       email
87           Ignore email addresses when comparing names. This can be useful
88           when comparing two repositories translated from Subversion;
89           typically they'll have the Subversion Unix user ID as the name part
90           of the address, but whether and how a host part is generated for
91           the address varies.
92
93       One of these or a comma-separated list of several can be specified.
94
95       The --fullhash or -f option forces reporting of full 40-digit hash IDs,
96       rather than the normal short hash.
97
98       Normally only the names of differing files are listed. With the
99       --tree-diff option, context diffs of the files are listed.
100
101       The --quiet or -q option suppresses the progress meter.
102
103       The --verbose or -v option enables debugging messages that are probably
104       only of interest to developers; consult the source code for details.
105

RETURN VALUES

107       For scripting use, this program returns 0 unless content (tree)
108       differences were found in matching commits, in which case it returns 1.
109       Right-side-only or left-side-only commits do not cause a return of 1,
110       nor do differences in change comments only.
111

AUTHOR

113       Eric S. Raymond <esr@thyrsus.com>. This tool is distributed with
114       reposurgeon; see the project page at
115       http://www.catb.org/~esr/reposurgeon.
116
117
118
119repodiffer                        03/31/2019                     REPODIFFER(1)
Impressum