From c20b767eca1980d15697f0a7a6e6e728f819a3ab Mon Sep 17 00:00:00 2001
From: mhagger
Although cvs2git is considerably newer than cvs2svn, and much less -well tested, it is believed that cvs2git can (cautiously) be used for -production conversions. If you use cvs2git, please let us know how it -worked for you!
+well tested, it is believed that cvs2git can be used for production +conversions. If you use cvs2git, please let us know how it worked for +you!cvs2git still has many limitations compared to cvs2svn. The main -cvs2svn developer has limited git experience and very limited time, so -help would be much appreciated! Some of these missing -features would be pretty easy to program, and I'd be happy to help you -get started.
+cvs2git still has many limitations compared to +cvs2svn. Help would be much appreciated! Some of +these missing features would be pretty easy to program, and I'd be +happy to help you get started.
The command-line options for running cvs2git are documented - in the cvs2git man page and in the output of cvs2git - --help. For example:
+The command-line options for running cvs2git are documented + in the cvs2git man page and in the output of cvs2git + --help. For example:
cvs2git \ @@ -328,12 +326,12 @@ cvs2git --options=OPTIONS-FILE
This creates two output files in git - fast-import format. The names of these files are specified by - your options file or command-line arguments. In the example, - these files are named cvs2git-tmp/git-blob.dat and - cvs2git-tmp/git-dump.dat.
+This creates two output files + in git + fast-import format. The names of these files are specified + by your options file or command-line arguments. In the example, + these files are named cvs2git-tmp/git-blob.dat and + cvs2git-tmp/git-dump.dat.
@@ -342,9 +340,8 @@ cvs2git --options=OPTIONS-FILEInitialize a git repository:
-mkdir myproject.git -cd myproject.git -git init --bare +git init --bare /path/to/myproject.git +cd /path/to/myproject.git@@ -355,8 +352,8 @@ git init --bare fast-import:
-git fast-import --export-marks=../cvs2git-tmp/git-marks.dat < ../cvs2git-tmp/git-blob.dat -git fast-import --import-marks=../cvs2git-tmp/git-marks.dat < ../cvs2git-tmp/git-dump.dat +git fast-import --export-marks=../cvs2git-tmp/git-marks.dat <../cvs2git-tmp/git-blob.dat +git fast-import --import-marks=../cvs2git-tmp/git-marks.dat <../cvs2git-tmp/git-dump.dat
On Linux/Unix this can be shortened to:
@@ -369,6 +366,16 @@ cat ../cvs2git-tmp/git-blob.dat ../cvs2git-tmp/git-dump.dat | git fast-importDelete the TAG.FIXUP branch:
+ ++git branch -D TAG.FIXUP ++ +
(Optional) View the results of the conversion, for example:
@@ -416,27 +423,26 @@ cd myprojectConverting to a non-bare repository
If you want to convert into a non-bare git repository (one - including a working tree), then you need to make two changes to the - above procedure:
+ that includes a working tree), then you need to make two changes to + the above procedure:
Omit the --bare option in step 4; i.e., type
-mkdir myproject.git -cd myproject.git -git init +git init /path/to/myproject.git +cd /path/to/myproject.git
When the conversion is done, instead of cloning as described - in step 9, you need to explicitly check out the "master" version + in step 10, you need to explicitly check out the "master" version of the files into your working tree:
-git checkout +git checkout master