.\"Generated by db2man.xsl. Don't modify this, modify the source. .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "GIT-CVSIMPORT" 1 "" "" "" .SH NAME git-cvsimport \- Import a CVS repository into git .SH "SYNOPSIS" .nf git\-cvsimport [\-o ] [\-h] [\-v] [\-d ] [\-s ] [\-p ] [\-C ] [\-i] [\-P ] [\-m] [\-M regex] [] .fi .SH "DESCRIPTION" 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\&. .SH "OPTIONS" .TP \-d 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\&. .TP \-C The git repository to import to\&. If the directory doesn't exist, it will be created\&. Default is the current directory\&. .TP \-i Import\-only: don't perform a checkout after importing\&. This option ensures the working directory and index remain untouched and will not create them if they do not exist\&. .TP \-k 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\&. .TP \-u Convert underscores in tag and branch names to dots\&. .TP \-o 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\&. .TP \-p 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\&. .TP \-P Instead of calling cvsps, read the provided cvsps output file\&. Useful for debugging or when cvsps is being handled outside cvsimport\&. .TP \-m 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\&. .TP \-M 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\&. .TP \-v Verbosity: let cvsimport report what it is doing\&. .TP The CVS module you want to import\&. Relative to \&. .TP \-h Print a short usage message and exit\&. .TP \-z Pass the timestamp fuzz factor to cvsps\&. .TP \-s Substitute the character "/" in branch names with .TP \-A CVS by default uses the unix username when writing its commit logs\&. Using this option and an author\-conv\-file in this format .nf exon=Andreas Ericsson spawn=Simon Pawn .fi .nf git\-cvsimport will make it appear as those authors had their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly all along\&. .fi .nf For convenience, this data is saved to $GIT_DIR/cvs\-authors each time the \-A option is provided and read from that same file each time git\-cvsimport is run\&. .fi .nf It is not recommended to use this feature if you intend to export changes back to CVS again later with git\-link[1]::git\-cvsexportcommit\&. .fi .SH "OUTPUT" 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\&. .SH "AUTHOR" Written by Matthias Urlichs , with help from various participants of the git\-list \&. .SH "DOCUMENTATION" Documentation by Matthias Urlichs \&. .SH "GIT" Part of the \fBgit\fR(7) suite