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

NAME

6       repotool - query or manipulate a CVS, Subversion, git, bzr, hg, or
7       darcs repository in a uniform way
8

SYNOPSIS

10       repotool [action] [URL-or-dir]
11

DESCRIPTION

13       repotool is a script wrapper around repository operations that differ
14       by version-control system. It is little use by itself, existing mainly
15       to generate and simplify a conversion makefile usable with
16       reposurgeon(1).
17
18       Not all actions are supported on all systems. You will get an error
19       message and a return value of 1 when attempting an unsupported action.
20
21       The "initialize" option takes a project name (and, optionally,
22       following source and target VCCS types) and generates a Makefile that
23       will sequence various steps of a repository conversion. It also
24       generates stub lift and options files. This is meant to be run in an
25       empty work directory, and it is an error to do 'initialize' where any
26       of these files already exist. Afterwards, you will need to set some
27       variables in the Makefile; read its header comment.
28
29       The 'export' action, run from within a repository directory, dumps a
30       copy of a CVS, Subversion, git, bzr, hg, or darcs repository to a flat
31       history file readable by reposurgeon. The format is usually a
32       git-fast-import stream, except that Subversion repositories export as
33       Subversion dump files; the point is to be a lossless erepresentation,
34       or as close to one as possible.
35
36       The 'tags' option, run from within a repository directory, returns a
37       list of the repository's release tags.
38
39       The 'branches' option, run from within a repository directory , returns
40       a list of the repository's branch names.
41
42       The 'checkout' option checks out a working copy of the repository. It
43       must be called from within the repository. It takes one required
44       argument - the checkout directory location. It may take a following
45       optional argument which is a tag or revision specification; if this
46       argument is not given, the tip (most recent) mainline revision is
47       assumed.
48
49       The 'compare' action takes two repository directories and a revision
50       spec (typically a tag name). If the revision spec is omitted, the tip
51       of the main line of both repositories will be used. The selected
52       revisions are cpmpared with diff -q -r, with noise due to SCCS/RCS/CVS
53       keyword expansion ignored. You can follow the command verb with one or
54       more -x options followed by basenames of paths to exclude from
55       comparison. You can get a context-diff report on file differences with
56       the -u option.
57
58       The 'compare-tags' action takes two repository directories, extracts a
59       list of tags from the first, then compares the repository contents at
60       each tag in the list, generating a compare report for each. You can
61       follow the command verb with one or more -x options followed by
62       basenames of paths to exclude from comparison. You can get a
63       context-diff report on file differences with the -u option.
64
65       The 'compare-branches' action takes two repository directories,
66       extracts a list of branches common to both, then compares the
67       repository contents at each branch in the list, generating a compare
68       report for each. You can follow the command verb with one or more -x
69       options followed by basenames of paths to exclude from comparison. You
70       can get a context-diff report on file differences with the -u option.
71
72       The 'compare-all' action takes two repository directories, and runs all
73       3 above compare actions on them. Even if the same name is a tag in one
74       repository and a branch in the other, it will compare them against each
75       other. Not distinguishing them is useful as CVS tags that are not
76       applied to every file in the repository may get converted to branches.
77       The options are the same as 'compare-tags'.
78
79       The 'mirror' action makes or updates a local mirror of a Subversion or
80       CVS repo. It requires a single argument, either a Subversion URL or a
81       CVS URL, or the name of a local mirror directory created by a previous
82       run. The first form creates a local mirror of the repository in a
83       directory named after the last segment of the URL, with the suffix
84       “-mirror” (the local mirror name can be overridden by an optional)
85       second argument. The second form updates the local mirror, doing an
86       incremental fetch; just give the mirror directory name.
87
88       Subversion URLs are as specified in the public documentation for
89       Subversion. CVS URLs must specify a host and repository path, followed
90       by a '#', followed by a module name.
91

ENVIRONMENT VARIABLES

93       This program uses the $TMPDIR environment variable, defaulting to /tmp
94       if it is not set.
95

REQUIREMENTS

97       The export action is a wrapper around either native export facilities
98       or the following engines: cvs-fast-export(1) (for CVS), svnadmin(1)
99       (for SVN), hg-fast-export.py(1) (for hg). You must have the appropriate
100       engine in your $PATH for whatever kind of repository you are streaming.
101

SEE ALSO

103       reposurgeon(1).
104

AUTHOR

106       Eric S. Raymond <esr@thyrsus.com>. This tool is distributed with
107       reposurgeon; see the project page at
108       http://www.catb.org/~esr/reposurgeon.
109
110
111
112repotool                          07/15/2018                       REPOTOOL(1)
Impressum