blob: 9d8acfcb130324e5a4a31a54585a92b194107c9c [file] [log] [blame]
v0.1, July 2005
git-cvsimport-script - Import a CVS repository into git
'git-cvsimport-script' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
[ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
[ -C <GIT_repository> ] [ -i ] [ -k ]
[ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
Imports a CVS repository into git. It will either create a new
repository, or incrementally import into an existing one.
Splitting the CVS log into patch sets is done by 'cvsps'.
At least version 2.1 is required.
-d <CVSROOT>::
The root of the CVS archive. May be local (a simple path) or remote;
currently, only the :local:, :ext: and :pserver: access methods
are supported.
-C <target-dir>::
The GIT repository to import to. If the directory doesn't
exist, it will be created. Default is the current directory.
Import-only: don't perform a checkout after importing. This option
ensures the working directory and cache remain untouched and will
not create them if they do not exist.
Kill keywords: will extract files with -kk from the CVS archive
to avoid noisy changesets. Highly recommended, but off by default
to preserve compatibility with early imported trees.
Convert underscores in tag and branch names to dots.
-o <branch-for-HEAD>::
The 'HEAD' branch from CVS is imported to the 'origin' branch within
the git repository, as 'HEAD' already has a special meaning for git.
Use this option if you want to import into a different branch.
Use '-o master' for continuing an import that was initially done by
the old cvs2git tool.
-p <options-for-cvsps>::
Additional options for cvsps.
The options '-u' and '-A' are implicit and should not be used here.
If you need to pass multiple options, separate them with a comma.
Attempt to detect merges based on the commit message. This option
will enable default regexes that try to capture the name source
branch name from the commit message.
-M <regex>::
Attempt to detect merges based on the commit message with a custom
regex. It can be used with -m to also see the default regexes.
You must escape forward slashes.
Verbosity: let 'cvsimport' report what it is doing.
The CVS module you want to import. Relative to <CVSROOT>.
Print a short usage message and exit.
-z <fuzz>::
Pass the timestamp fuzz factor to cvsps.
-s <subst>::
Substitute the character "/" in branch names with <subst>
If '-v' is specified, the script reports what it is doing.
Otherwise, success is indicated the Unix way, i.e. by simply exiting with
a zero exit status.
Written by Matthias Urlichs <>, with help from
various participants of the git-list <>.
Documentation by Matthias Urlichs <>.
Part of the link:git.html[git] suite