blob: 182f6db7a08e5d03b571f54bf85eb0fc77db4276 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano04a32862006-03-08 01:42:436<meta name="generator" content="AsciiDoc 7.0.2" />
Junio C Hamano1a4e8412005-12-27 08:17:237<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-cvsimport(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-cvsimport(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-cvsimport -
269 Import a CVS repository into git
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano235a91e2006-01-07 01:13:58275<div class="verseblock">
276<div class="content"><em>git-cvsimport</em> [-o &lt;branch-for-HEAD&gt;] [-h] [-v] [-d &lt;CVSROOT&gt;] [-s &lt;subst&gt;]
277 [-p &lt;options-for-cvsps&gt;] [-C &lt;git_repository&gt;] [-i] [-P &lt;file&gt;]
278 [-m] [-M regex] [&lt;CVS_module&gt;]</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23279</div>
280<h2>DESCRIPTION</h2>
281<div class="sectionbody">
282<p>Imports a CVS repository into git. It will either create a new
283repository, or incrementally import into an existing one.</p>
284<p>Splitting the CVS log into patch sets is done by <em>cvsps</em>.
285At least version 2.1 is required.</p>
Junio C Hamano04a32862006-03-08 01:42:43286<p>You should <strong>never</strong> do any work of your own on the branches that are
287created by git-cvsimport. The initial import will create and populate a
288"master" branch from the CVS repository's main branch which you're free
289to work with; after that, you need to <em>git merge</em> incremental imports, or
290any CVS branches, yourself.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23291</div>
292<h2>OPTIONS</h2>
293<div class="sectionbody">
294<dl>
295<dt>
296-d &lt;CVSROOT&gt;
297</dt>
298<dd>
299<p>
300 The root of the CVS archive. May be local (a simple path) or remote;
301 currently, only the :local:, :ext: and :pserver: access methods
302 are supported.
303</p>
304</dd>
305<dt>
306-C &lt;target-dir&gt;
307</dt>
308<dd>
309<p>
310 The git repository to import to. If the directory doesn't
311 exist, it will be created. Default is the current directory.
312</p>
313</dd>
314<dt>
315-i
316</dt>
317<dd>
318<p>
319 Import-only: don't perform a checkout after importing. This option
320 ensures the working directory and index remain untouched and will
321 not create them if they do not exist.
322</p>
323</dd>
324<dt>
325-k
326</dt>
327<dd>
328<p>
329 Kill keywords: will extract files with -kk from the CVS archive
330 to avoid noisy changesets. Highly recommended, but off by default
331 to preserve compatibility with early imported trees.
332</p>
333</dd>
334<dt>
335-u
336</dt>
337<dd>
338<p>
339 Convert underscores in tag and branch names to dots.
340</p>
341</dd>
342<dt>
343-o &lt;branch-for-HEAD&gt;
344</dt>
345<dd>
346<p>
347 The <em>HEAD</em> branch from CVS is imported to the <em>origin</em> branch within
348 the git repository, as <em>HEAD</em> already has a special meaning for git.
349 Use this option if you want to import into a different branch.
350</p>
351<p>Use <em>-o master</em> for continuing an import that was initially done by
352the old cvs2git tool.</p>
353</dd>
354<dt>
355-p &lt;options-for-cvsps&gt;
356</dt>
357<dd>
358<p>
359 Additional options for cvsps.
360 The options <em>-u</em> and <em>-A</em> are implicit and should not be used here.
361</p>
362<p>If you need to pass multiple options, separate them with a comma.</p>
363</dd>
364<dt>
365-P &lt;cvsps-output-file&gt;
366</dt>
367<dd>
368<p>
369 Instead of calling cvsps, read the provided cvsps output file. Useful
370 for debugging or when cvsps is being handled outside cvsimport.
371</p>
372</dd>
373<dt>
374-m
375</dt>
376<dd>
377<p>
378 Attempt to detect merges based on the commit message. This option
379 will enable default regexes that try to capture the name source
380 branch name from the commit message.
381</p>
382</dd>
383<dt>
384-M &lt;regex&gt;
385</dt>
386<dd>
387<p>
388 Attempt to detect merges based on the commit message with a custom
389 regex. It can be used with -m to also see the default regexes.
390 You must escape forward slashes.
391</p>
392</dd>
393<dt>
394-v
395</dt>
396<dd>
397<p>
398 Verbosity: let <em>cvsimport</em> report what it is doing.
399</p>
400</dd>
401<dt>
402&lt;CVS_module&gt;
403</dt>
404<dd>
405<p>
406 The CVS module you want to import. Relative to &lt;CVSROOT&gt;.
407</p>
408</dd>
409<dt>
410-h
411</dt>
412<dd>
413<p>
414 Print a short usage message and exit.
415</p>
416</dd>
417<dt>
418-z &lt;fuzz&gt;
419</dt>
420<dd>
421<p>
422 Pass the timestamp fuzz factor to cvsps.
423</p>
424</dd>
425<dt>
426-s &lt;subst&gt;
427</dt>
428<dd>
429<p>
430 Substitute the character "/" in branch names with &lt;subst&gt;
431</p>
432</dd>
Junio C Hamano02d6fa52006-01-16 08:23:23433<dt>
434-A &lt;author-conv-file&gt;
435</dt>
436<dd>
437<p>
438 CVS by default uses the unix username when writing its
439 commit logs. Using this option and an author-conv-file
440 in this format
441</p>
Junio C Hamanoa725a532006-03-21 08:33:47442<div class="listingblock">
Junio C Hamano02d6fa52006-01-16 08:23:23443<div class="content">
Junio C Hamanoa725a532006-03-21 08:33:47444<pre><tt> exon=Andreas Ericsson &lt;ae@op5.se&gt;
445 spawn=Simon Pawn &lt;spawn@frog-pond.org&gt;
446</tt></pre>
Junio C Hamano02d6fa52006-01-16 08:23:23447</div></div>
Junio C Hamanoa725a532006-03-21 08:33:47448<p>git-cvsimport will make it appear as those authors had
Junio C Hamano02d6fa52006-01-16 08:23:23449their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
Junio C Hamanoa725a532006-03-21 08:33:47450all along.</p>
451<p>For convenience, this data is saved to $GIT_DIR/cvs-authors
Junio C Hamano02d6fa52006-01-16 08:23:23452each time the -A option is provided and read from that same
Junio C Hamanoa725a532006-03-21 08:33:47453file each time git-cvsimport is run.</p>
454<p>It is not recommended to use this feature if you intend to
Junio C Hamano02d6fa52006-01-16 08:23:23455export changes back to CVS again later with
Junio C Hamanod7e63042006-08-02 21:12:23456<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>.</p>
Junio C Hamano02d6fa52006-01-16 08:23:23457</dd>
Junio C Hamano1a4e8412005-12-27 08:17:23458</dl>
459</div>
460<h2>OUTPUT</h2>
461<div class="sectionbody">
462<p>If <em>-v</em> is specified, the script reports what it is doing.</p>
463<p>Otherwise, success is indicated the Unix way, i.e. by simply exiting with
464a zero exit status.</p>
465</div>
466<h2>Author</h2>
467<div class="sectionbody">
468<p>Written by Matthias Urlichs &lt;smurf@smurf.noris.de&gt;, with help from
469various participants of the git-list &lt;git@vger.kernel.org&gt;.</p>
470</div>
471<h2>Documentation</h2>
472<div class="sectionbody">
473<p>Documentation by Matthias Urlichs &lt;smurf@smurf.noris.de&gt;.</p>
474</div>
475<h2>GIT</h2>
476<div class="sectionbody">
477<p>Part of the <a href="git.html">git(7)</a> suite</p>
478</div>
479<div id="footer">
480<div id="footer-text">
Junio C Hamanod97409f2006-10-03 08:41:56481Last updated 03-Oct-2006 08:40:59 UTC
Junio C Hamano1a4e8412005-12-27 08:17:23482</div>
483</div>
484</body>
485</html>