Document the new migration tool
This commit is contained in:
parent
465416694a
commit
e694dbabbf
@ -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 <cvsroot> <module>
|
||||
git cvsimport -d <cvsroot> <module> <destination>
|
||||
|
||||
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 <module>.
|
||||
archive of the named CVS module. The new archive will be created in the
|
||||
subdirectory named <destination>; 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/<branch> .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 <branch>
|
||||
|
||||
|
||||
Emulating CVS behaviour
|
||||
-----------------------
|
||||
|
Loading…
Reference in New Issue
Block a user