Is there a migration tool from CVS to Git?

前端 未结 12 1881
栀梦
栀梦 2020-11-27 13:34

I intend to switch over from CVS to Git. In the case of SVN, there seems to be cvs2svn. Is there a similar tool to easily migrate from CVS to Git?

12条回答
  •  野性不改
    2020-11-27 13:53

    I read the answer by Vanuan and mhagger's comments to it. Unfortunately mhagger didn't post how to do it with cvs2git. It is all very well written up here: http://www.mcs.anl.gov/~jacob/cvs2svn/cvs2git.html

    I used cvs2git instead of git-cvsimport because the documentation of git-cvsimport suggests to use it instead to avoid the problems of git-cvsimport: https://www.kernel.org/pub/software/scm/git/docs/git-cvsimport.html#issues

    It follows essence of it that worked for me to create a git repository from a sourceforge CVS repository on Debian Sid:

    $ apt-get install cvs2svn cvs
    $ mkdir project.cvs
    $ rsync -av rsync://${PROJECT}.cvs.sourceforge.net/cvsroot/${PROJECT}/ project.cvs
    $ cvs2git --blobfile=git-blob.dat --dumpfile=git-dump.dat --username=cvs2git project.cvs
    $ mkdir project.git
    $ cd project.git
    $ git init
    $ cat ../git-blob.dat ../git-dump.dat | git fast-import
    

    The rsync step is needed because cvs2git needs access to the whole history. A simple checkout is not enough.

提交回复
热议问题