Differences between revisions 7 and 8
Revision 7 as of 2008-09-26 07:59:07
Size: 1748
Editor: DirkHaun
Comment: I always fall for the /path/to/cvsroot ...
Revision 8 as of 2009-05-19 19:31:01
Size: 1756
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
["corecode"]'s fast repo syncer [http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs fromcvs]. [[corecode]]'s fast repo syncer [[http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs|fromcvs]].
Line 14: Line 14:
For fromcvs you'll need the [http://ww2.fs.ei.tum.de/~corecode/hg/rcsparse rcsparse] module, ruby and [http://www.geocities.co.jp/SiliconValley-PaloAlto/3388/rbtree/README.html ruby-rbtree]. A good way to InstallRbtree is to use gem. For fromcvs you'll need the [[http://ww2.fs.ei.tum.de/~corecode/hg/rcsparse|rcsparse]] module, ruby and [[http://www.geocities.co.jp/SiliconValley-PaloAlto/3388/rbtree/README.html|ruby-rbtree]]. A good way to InstallRbtree is to use gem.
Line 36: Line 36:
-- ["corecode"] -- [[corecode]]
Line 38: Line 38:
A nice [http://wiki.dragonflybsd.org/index.cgi/HowToFromcvs how-to] for fromcvs is available. A nice [[http://wiki.dragonflybsd.org/index.cgi/HowToFromcvs|how-to]] for fromcvs is available.

(see RepositoryConversion for other possibilities)

Fast (incremental) cvs->* conversion

If you have the cvsroot locally available (i.e. you can read the rcs,v files), you can use corecode's fast repo syncer fromcvs.

Fromcvs is designed to sync to different target SCM; at the moment there is a hg and git destination available.

Note: the current version doesn't work with Mercurial 0.9.5 as the internal API it uses has changed. Running with 0.9.4 for the conversion seems to be fine.

Fromcvs does convert all CVS branches (including vendor branches) as well.

For fromcvs you'll need the rcsparse module, ruby and ruby-rbtree. A good way to InstallRbtree is to use gem.

To get it going, do something like this:

# install rcsparse
cd rcsparse
ruby extconf.rb
make && make install

# install ruby-rbtree likewise...

# IMPORTANT:  Use a utf8 locale, or mercurial will abort on
# non-ASCII characters, as these are converted to utf8 by fromcvs!
export LANG=en_US.UTF-8
cd fromcvs
hg init /path/to/hgdest
ruby tohg.rb /path/to/cvsroot modulename /path/to/hgdest

Note that /path/to/cvsroot refers to the directory that contains the CVSROOT directory, not the CVRSOOT directory itself. So if you have /foo/bar/CVSROOT, your /path/to/cvsroot is /foo/bar.

fromcvs operates incrementally, which means that you can run it later again to incorporate new changes from CVS.

-- corecode

A nice how-to for fromcvs is available.


CategoryConversion

fromcvs (last edited 2012-11-08 16:56:43 by abuehl)