From e694dbabbfdb847d6adb33c33ea188b5a8f0c175 Mon Sep 17 00:00:00 2001 From: Matthias Urlichs Date: Tue, 28 Jun 2005 21:11:23 +0200 Subject: [PATCH] Document the new migration tool --- Documentation/cvs-migration.txt | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt index 4e2c45203..da9d63e41 100644 --- a/Documentation/cvs-migration.txt +++ b/Documentation/cvs-migration.txt @@ -63,19 +63,35 @@ Once you've gotten (and installed) cvsps, you may or may not want to get any more familiar with it, but make sure it is in your path. After that, the magic command line is - git cvsimport + git cvsimport -d which will do exactly what you'd think it does: it will create a git -archive of the named CVS module. The new archive will be created in a -subdirectory named . +archive of the named CVS module. The new archive will be created in the +subdirectory named ; it'll be created if it doesn't exist. +Default is the local directory. It can take some time to actually do the conversion for a large archive since it involves checking out from CVS every revision of every file, and the conversion script can be reasonably chatty, but on some not very -scientific tests it averaged about eight revisions per second, so a +scientific tests it averaged about twenty revisions per second, so a medium-sized project should not take more than a couple of minutes. For larger projects or remote repositories, the process may take longer. +After the import is done, do this: + + cp .git/refs/heads/ .git/refs/heads/master + git-read-tree + git-checkout-cache -q -f -u -a + +The head branch is named "origin" by default; you can change that using +the '-o' option to "git cvsimport". + +The import is incremental, i.e. if you call it again next month it'll +fetch any CVS updates that have been happening in the meantime. You can +then merge those updates into your main branch: + + cg-merge + Emulating CVS behaviour ----------------------- -- 2.45.2