Provided by: reposurgeon_3.29-1_amd64
NAME
repotool - query or manipulate a CVS, Subversion, git, bzr, hg, or darcs repository in a uniform way
SYNOPSIS
repotool [action] [URL-or-dir]
DESCRIPTION
repotool is a script wrapper around repository operations that differ by version-control system. It is little use by itself, existing mainly to generate and simplify a conversion makefile usable with reposurgeon(1). Not all actions are supported on all systems. You will get an error message and a return value of 1 when attempting an unsupported action. The "initialize" option takes a project name (and, optionally, following source and target VCCS types) and generates a Makefile that will sequence various steps of a repository conversion. It also generates stub lift and options files. This is meant to be run in an empty work directory, and it is an error to do 'initialize' where any of these files already exist. Afterwards, you will need to set some variables in the Makefile; read its header comment. The 'export' action, run from within a repository directory (within a module directory for CVS), dumps a copy of a CVS, Subversion, git, bzr, hg, or darcs repository to a flat history file readable by reposurgeon. The 'tags' option, run from within a repository directory (within a module directory for CVS), returns a list of the repository's release tags. The 'checkout' option checks out a working copy of the repository. It must be called from within the repository. It takes one required argument - the checkout directory location. It may take a following optional argument which is a tag or revision specification; if this argument is not given, the tip (most recent) mainline revision is assumed. The 'compare' action takes two repository directories and a revision spec (typically a tag name). If the revision spec is omitted, the tip of the main line of both repositories will be used. The selected revisions are cpmpared with diff -q -r, with noise due to SCCS/RCS/CVS keyword expansion ignored. You can follow the command verb with one or more -x options followed by basenames of paths to exclude from comparison. You can get a context-diff report on file digfferences with the -u option. The 'compare-tags' action takes two repository directories, extracts a list of tags from the first, then compares the repository contents at each tag in the list, generating a compare report for each. You can follow the command verb with one or more -x options followed by basenames of paths to exclude from comparison. You can get a context-diff report on file digfferences with the -u option. The 'mirror' action makes or updates a local mirror of a Subversion or CVS repo. It requires a single argument, either a Subversion URL or a CVS URL, or the name of a local mirror directory created by a previous run. The first form creates a local mirror of the repository in a directory named after the last segment of the URL, with the suffix “-mirror” (the local mirror name can be overridden by an optional) second argument. The second form updates the local mirror, doing an incremental fetch; just give the mirror directory name. Subversion URLs are as specified in the public documentation for those systems. CVS URLs must specify a host and repository path, followed by a '#', followed by a module name.
REQUIREMENTS
The export action is a wrapper around either native export facilities or the following engines: cvs-fast-export(1) (for CVS), svnadmin(1) (for SVN), hg-fast-export.py(1) (for hg). You must have the appropriate engine in your $PATH for whatever kind of repository you are streaming.
SEE ALSO
reposurgeon(1).
AUTHOR
Eric S. Raymond <esr@thyrsus.com>. This tool is distributed with reposurgeon; see the project page at http://www.catb.org/~esr/reposurgeon.