summaryrefslogtreecommitdiff
path: root/Documentation/git-cvsimport.txt
blob: 01ca7ef96f1040c3260841c13b9c5cdc2e8938dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
git-cvsimport(1)
================

NAME
----
git-cvsimport - Import a CVS repository into git


SYNOPSIS
--------
[verse]
'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>] [-s <subst>]
	      [-p <options-for-cvsps>] [-C <git_repository>] [-i] [-P <file>]
	      [-m] [-M regex] [<CVS_module>]


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.

OPTIONS
-------
-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.

-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.

-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. 

-u::
	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.

-P <cvsps-output-file>::
	Instead of calling cvsps, read the provided cvsps output file. Useful
	for debugging or when cvsps is being handled outside cvsimport.

-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. 

-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. 

-v::
	Verbosity: let 'cvsimport' report what it is doing.

<CVS_module>::
	The CVS module you want to import. Relative to <CVSROOT>.

-h::
	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>

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.


Author
------
Written by Matthias Urlichs <smurf@smurf.noris.de>, with help from
various participants of the git-list <git@vger.kernel.org>.

Documentation
--------------
Documentation by Matthias Urlichs <smurf@smurf.noris.de>.

GIT
---
Part of the gitlink:git[7] suite