Document the new migration tool
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,
|
any more familiar with it, but make sure it is in your path. After that,
|
||||||
the magic command line is
|
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
|
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
|
archive of the named CVS module. The new archive will be created in the
|
||||||
subdirectory named <module>.
|
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
|
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,
|
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
|
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
|
medium-sized project should not take more than a couple of minutes. For
|
||||||
larger projects or remote repositories, the process may take longer.
|
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
|
Emulating CVS behaviour
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
Loading…
Reference in New Issue