xenial (1) repodiffer.1.gz

Provided by: reposurgeon_3.29-1_amd64 bug

NAME

       repodiffer - report differences between repository histories

SYNOPSIS

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

DESCRIPTION

       This tool reports differences between two repository histories. The histories may be presented as git
       repository directories or as fast-import streams, or as one of each.

       Revisions are first paired into correspondence by committer and commit date. Any revision in the
       left-hand (L) history that cannot be paired with a revision in the right-hand (R) history is interpreted
       as having been deleted; any revision in the R history that cannot be paired with a revision in the L
       history is interpreted as having been inserted.

       For each changed, inserted, or deleted revision, a summary line is emitted identifying it by commit ID
       (for a repo) or mark (for a stream file) in the first history. In change reports, the corresponding
       revision in the second history is similarly identified and the report indicates the nature of the
       changes.

       A trailing statistics line summarizes the operation counts.

       Tags and heads are compared as well. Two tags match if their contents do and they point at paired
       commits.

OPTIONS

       The --changes-only or -c option shows changes only, suppressing listing of insertions and deletions.

       The --show-equal or -e option enables listing of equal commits.

       The --legacy-map or -m option takes a legacy map file in the format produced by reposurgeon, associating
       legacy commit IDs with committer/time pairs. If the tool can find a matching committer/time pair for a
       commit in this file, reports on this commit (and any matched pair it is part of) will be decorated with
       the legacy ID of the commit. (This will work, in particular, for displaying Subversion revisions of
       commits lifted from a Subversion file.)

       The --single or -s option compares single commits in detail. The argument must be a pair of commit IDs
       (marks or hashes) separated by an equals sign.

       The --ignore or -i option causes differences between specified parts to be ignored. Part tags are as
       follows:

       author
           Ignore differences in the (name part of the) author field.

       authordate
           Ignore differences in the author date part.

       committer
           Ignore differences in the (name part of the) committer field.

       committerdate
           Ignore differences in the commit date part

       parents
           Ignore differences in parent links.

       timezone
           Apply a modulo 360 operation to timestamps before comparison, so as to ignore time-zone skew.

       tree
           Ignore tree-content differences. (It is not expected that this option will be useful; it is provided
           for completeness's sake.)

       gitignore
           Ignore .gitignore and .cvsignore files when comparing tree content. Useful if you are comparing
           translations done by pairs of lifting tools only one of which lifts these; a notable case of this is
           reposurgeon vs. git-svn.

       email
           Ignore email addresses when comparing names. This can be useful when comparing two repositories
           translated from Subversion; typically they'll have the Subversion Unix user ID as the name part of
           the address, but whether and how a host part is generated for the address varies.

       One of these or a comma-separated list of several can be specified.

       The --fullhash or -f option forces reporting of full 40-digit hash IDs, rather than the normal short
       hash.

       Normally only the names of differing files are listed. With the --tree-diff option, context diffs of the
       files are listed.

       The --quiet or -q option suppresses the progress meter.

       The --verbose or -v option enables debugging messages that are probably only of interest to developers;
       consult the source code for details.

RETURN VALUES

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

AUTHOR

       Eric S. Raymond <esr@thyrsus.com>. This tool is distributed with reposurgeon; see the project page at
       http://www.catb.org/~esr/reposurgeon.