blob: c6dfc31c5b1644402ef7f1433f26055dc02aa47e [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 -
Junio C Hamano7c73c662007-01-19 00:37:50269 Salvage your data out of another SCM people love to hate
Junio C Hamano1a4e8412005-12-27 08:17:23270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano235a91e2006-01-07 01:13:58275<div class="verseblock">
Junio C Hamano12a3a232007-04-07 10:18:10276<div class="content"><em>git-cvsimport</em> [-o &lt;branch-for-HEAD&gt;] [-h] [-v] [-d &lt;CVSROOT&gt;]
277 [-A &lt;author-conv-file&gt;] [-p &lt;options-for-cvsps&gt;] [-P &lt;file&gt;]
278 [-C &lt;git_repository&gt;] [-z &lt;fuzz&gt;] [-i] [-k] [-u] [-s &lt;subst&gt;]
279 [-a] [-m] [-M &lt;regex&gt;] [-S &lt;regex&gt;] [-L &lt;commitlimit&gt;]
Junio C Hamano9e52d4e2007-06-13 08:29:33280 [-r &lt;remote&gt;] [&lt;CVS_module&gt;]</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23281</div>
282<h2>DESCRIPTION</h2>
283<div class="sectionbody">
284<p>Imports a CVS repository into git. It will either create a new
285repository, or incrementally import into an existing one.</p>
286<p>Splitting the CVS log into patch sets is done by <em>cvsps</em>.
287At least version 2.1 is required.</p>
Junio C Hamano04a32862006-03-08 01:42:43288<p>You should <strong>never</strong> do any work of your own on the branches that are
Junio C Hamano9e52d4e2007-06-13 08:29:33289created by git-cvsimport. By default initial import will create and populate a
Junio C Hamano04a32862006-03-08 01:42:43290"master" branch from the CVS repository's main branch which you're free
291to work with; after that, you need to <em>git merge</em> incremental imports, or
Junio C Hamano9e52d4e2007-06-13 08:29:33292any CVS branches, yourself. It is advisable to specify a named remote via
293-r to separate and protect the incoming branches.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23294</div>
295<h2>OPTIONS</h2>
296<div class="sectionbody">
297<dl>
298<dt>
Junio C Hamano12a3a232007-04-07 10:18:10299-v
300</dt>
301<dd>
302<p>
303 Verbosity: let <em>cvsimport</em> report what it is doing.
304</p>
305</dd>
306<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23307-d &lt;CVSROOT&gt;
308</dt>
309<dd>
310<p>
311 The root of the CVS archive. May be local (a simple path) or remote;
312 currently, only the :local:, :ext: and :pserver: access methods
Junio C Hamano12a3a232007-04-07 10:18:10313 are supported. If not given, git-cvsimport will try to read it
314 from <tt>CVS/Root</tt>. If no such file exists, it checks for the
315 <tt>CVSROOT</tt> environment variable.
316</p>
317</dd>
318<dt>
319&lt;CVS_module&gt;
320</dt>
321<dd>
322<p>
323 The CVS module you want to import. Relative to &lt;CVSROOT&gt;.
324 If not given, git-cvsimport tries to read it from
325 <tt>CVS/Repository</tt>.
Junio C Hamano1a4e8412005-12-27 08:17:23326</p>
327</dd>
328<dt>
329-C &lt;target-dir&gt;
330</dt>
331<dd>
332<p>
333 The git repository to import to. If the directory doesn't
334 exist, it will be created. Default is the current directory.
335</p>
336</dd>
337<dt>
Junio C Hamano9e52d4e2007-06-13 08:29:33338-r &lt;remote&gt;
339</dt>
340<dd>
341<p>
342 The git remote to import this CVS repository into.
343 Moves all CVS branches into remotes/&lt;remote&gt;/&lt;branch&gt;
344 akin to the git-clone --use-separate-remote option.
345</p>
346</dd>
347<dt>
Junio C Hamano12a3a232007-04-07 10:18:10348-o &lt;branch-for-HEAD&gt;
349</dt>
350<dd>
351<p>
Junio C Hamano9e52d4e2007-06-13 08:29:33352 When no remote is specified (via -r) the <em>HEAD</em> branch
353 from CVS is imported to the <em>origin</em> branch within the git
354 repository, as <em>HEAD</em> already has a special meaning for git.
355 When a remote is specified the <em>HEAD</em> branch is named
356 remotes/&lt;remote&gt;/master mirroring git-clone behaviour.
357 Use this option if you want to import into a different
358 branch.
Junio C Hamano12a3a232007-04-07 10:18:10359</p>
360<p>Use <em>-o master</em> for continuing an import that was initially done by
361the old cvs2git tool.</p>
362</dd>
363<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23364-i
365</dt>
366<dd>
367<p>
368 Import-only: don't perform a checkout after importing. This option
369 ensures the working directory and index remain untouched and will
370 not create them if they do not exist.
371</p>
372</dd>
373<dt>
374-k
375</dt>
376<dd>
377<p>
Junio C Hamano12a3a232007-04-07 10:18:10378 Kill keywords: will extract files with <em>-kk</em> from the CVS archive
Junio C Hamano1a4e8412005-12-27 08:17:23379 to avoid noisy changesets. Highly recommended, but off by default
380 to preserve compatibility with early imported trees.
381</p>
382</dd>
383<dt>
384-u
385</dt>
386<dd>
387<p>
388 Convert underscores in tag and branch names to dots.
389</p>
390</dd>
391<dt>
Junio C Hamano12a3a232007-04-07 10:18:10392-s &lt;subst&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23393</dt>
394<dd>
395<p>
Junio C Hamano12a3a232007-04-07 10:18:10396 Substitute the character "/" in branch names with &lt;subst&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23397</p>
Junio C Hamano1a4e8412005-12-27 08:17:23398</dd>
399<dt>
400-p &lt;options-for-cvsps&gt;
401</dt>
402<dd>
403<p>
404 Additional options for cvsps.
405 The options <em>-u</em> and <em>-A</em> are implicit and should not be used here.
406</p>
407<p>If you need to pass multiple options, separate them with a comma.</p>
408</dd>
409<dt>
Junio C Hamano12a3a232007-04-07 10:18:10410-z &lt;fuzz&gt;
411</dt>
412<dd>
413<p>
414 Pass the timestamp fuzz factor to cvsps, in seconds. If unset,
415 cvsps defaults to 300s.
416</p>
417</dd>
418<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23419-P &lt;cvsps-output-file&gt;
420</dt>
421<dd>
422<p>
423 Instead of calling cvsps, read the provided cvsps output file. Useful
424 for debugging or when cvsps is being handled outside cvsimport.
425</p>
426</dd>
427<dt>
428-m
429</dt>
430<dd>
431<p>
432 Attempt to detect merges based on the commit message. This option
433 will enable default regexes that try to capture the name source
434 branch name from the commit message.
435</p>
436</dd>
437<dt>
438-M &lt;regex&gt;
439</dt>
440<dd>
441<p>
442 Attempt to detect merges based on the commit message with a custom
Junio C Hamano12a3a232007-04-07 10:18:10443 regex. It can be used with <em>-m</em> to also see the default regexes.
Junio C Hamano1a4e8412005-12-27 08:17:23444 You must escape forward slashes.
445</p>
446</dd>
447<dt>
Junio C Hamano12a3a232007-04-07 10:18:10448-S &lt;regex&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23449</dt>
450<dd>
451<p>
Junio C Hamano12a3a232007-04-07 10:18:10452 Skip paths matching the regex.
Junio C Hamano1a4e8412005-12-27 08:17:23453</p>
454</dd>
Junio C Hamano02d6fa52006-01-16 08:23:23455<dt>
Junio C Hamanod1204f02007-01-08 11:18:48456-a
457</dt>
458<dd>
459<p>
460 Import all commits, including recent ones. cvsimport by default
461 skips commits that have a timestamp less than 10 minutes ago.
462</p>
463</dd>
464<dt>
Junio C Hamanod1204f02007-01-08 11:18:48465-L &lt;limit&gt;
466</dt>
467<dd>
468<p>
469 Limit the number of commits imported. Workaround for cases where
470 cvsimport leaks memory.
471</p>
472</dd>
Junio C Hamanodb911ee2007-02-28 08:13:52473<dt>
474-A &lt;author-conv-file&gt;
475</dt>
476<dd>
477<p>
478 CVS by default uses the Unix username when writing its
479 commit logs. Using this option and an author-conv-file
480 in this format
481</p>
Junio C Hamanoa725a532006-03-21 08:33:47482<div class="listingblock">
Junio C Hamano02d6fa52006-01-16 08:23:23483<div class="content">
Junio C Hamanoa725a532006-03-21 08:33:47484<pre><tt> exon=Andreas Ericsson &lt;ae@op5.se&gt;
485 spawn=Simon Pawn &lt;spawn@frog-pond.org&gt;
486</tt></pre>
Junio C Hamano02d6fa52006-01-16 08:23:23487</div></div>
Junio C Hamanodb911ee2007-02-28 08:13:52488<p>git-cvsimport will make it appear as those authors had
Junio C Hamano02d6fa52006-01-16 08:23:23489their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
Junio C Hamanoa725a532006-03-21 08:33:47490all along.</p>
Junio C Hamano12a3a232007-04-07 10:18:10491<p>For convenience, this data is saved to <tt>$GIT_DIR/cvs-authors</tt>
492each time the <em>-A</em> option is provided and read from that same
Junio C Hamanoa725a532006-03-21 08:33:47493file each time git-cvsimport is run.</p>
Junio C Hamanodb911ee2007-02-28 08:13:52494<p>It is not recommended to use this feature if you intend to
Junio C Hamano02d6fa52006-01-16 08:23:23495export changes back to CVS again later with
Junio C Hamanod7e63042006-08-02 21:12:23496<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>.</p>
Junio C Hamanodb911ee2007-02-28 08:13:52497</dd>
Junio C Hamano12a3a232007-04-07 10:18:10498<dt>
499-h
500</dt>
501<dd>
502<p>
503 Print a short usage message and exit.
504</p>
505</dd>
Junio C Hamanodb911ee2007-02-28 08:13:52506</dl>
Junio C Hamano1a4e8412005-12-27 08:17:23507</div>
508<h2>OUTPUT</h2>
509<div class="sectionbody">
510<p>If <em>-v</em> is specified, the script reports what it is doing.</p>
511<p>Otherwise, success is indicated the Unix way, i.e. by simply exiting with
512a zero exit status.</p>
513</div>
514<h2>Author</h2>
515<div class="sectionbody">
516<p>Written by Matthias Urlichs &lt;smurf@smurf.noris.de&gt;, with help from
517various participants of the git-list &lt;git@vger.kernel.org&gt;.</p>
518</div>
519<h2>Documentation</h2>
520<div class="sectionbody">
521<p>Documentation by Matthias Urlichs &lt;smurf@smurf.noris.de&gt;.</p>
522</div>
523<h2>GIT</h2>
524<div class="sectionbody">
525<p>Part of the <a href="git.html">git(7)</a> suite</p>
526</div>
527<div id="footer">
528<div id="footer-text">
Junio C Hamanobb6e0782007-07-19 02:14:50529Last updated 19-Jul-2007 02:09:36 UTC
Junio C Hamano1a4e8412005-12-27 08:17:23530</div>
531</div>
532</body>
533</html>