<> (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 [[http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs|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 [[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 install rbtree 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 [[http://www.dragonflybsd.org/docs/howtos/HowToFromcvs/|how-to]] for fromcvs is available. ---- CategoryConversion