On Sun, Apr 27, 2008 at 1:51 PM, Ping Yin <pkufranky@xxxxxxxxx> wrote: > On Sun, Apr 27, 2008 at 1:47 PM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > > Ping Yin wrote: > > > These days i tried to convert the cvs repository into git. I really > > > want the conversion to be as accurate as possible. However, the cvs > > > repository has been tagged in a very bad style which makes > > > git-cvsimport or cvsps not work well. > > > > > > cvs2git sounds to be the right tool i should try. Unfortualely, i > > > can't touch the cvs repository directly. So is it possible to use > > > cvs2git in the remote host instead of the host of the cvs repository > > > just as git-cvsimport does? Yes, i know it can't now. I just wonder > > > whether it is possible to implement. > > > > cvs2svn/cvs2git itself can't work with remote repositories. It would be > > enough if you could just get a copy of the repository; obviously you > > don't need to use the original. > > > > If you can't get a copy of the CVS repository directly, you might be > > able to recreate it indirectly via information read over the CVS > > protocol using a tool like CVSsuck [1,2]. I have no experience with > > CVSsuck, so if you try it out, please let us know whether you were > > successful. > > > > THX. If i try out cvssuck, i will let you know. > Great, i succeed. And the result is exactly what i want! However, it is so so slow. Here is a example to convert a module util from cvs to git -------------------------------------------------------------------------------------------- $ cvssuck $CVSROOT util <1> $ mkdir util/CVSROOT <2> $ edit cvs2svn-git.options and cvs2svn-example.options ( change run_options.add_project and ctx.cvs_log_decorder) $ cvs2svn --options=cvs2svn-git.options $ mkdir util.git && cd util.git && git init $ cat ../cvs2svn-tmp/git-{blob,dump}.dat | git-fast-import ------------------------------------------------------------------------------------------- <1> very slow, about 30 minutes for a very small module. Other steps are fast enough. <2> I have to create a dir util/CVSROOT to avoid the error "util is not a CVS repository, nor a path within a CVS repository. A CVS repository contains a CVSROOT directory within its root directory." -- Ping Yin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html