34.3.2 运行cvs2git完成转换

    参照上面的方法,从默认的cvs2git配置文件来进行定制,在本地创建一个文件(例如名为cvs2git.options的文件)。然后运行cvs2git完成版本库转换,具体操作步骤如下。

    (1)使用cvs2git配置文件,命令行大大简化了。


    $cvs2git—options cvs2git.options

    (2)成功导出后,产生两个导出文件,都保存在cvs2git-tmp目录中。

    一个保存各个文件的各个不同版本的数据内容,即命令行指定的输出文件git-blob.dat。另外一个文件是上面命令行指定的git-dump.dat,用于保存各个提交的相关信息(提交者、提交时间、提交日志等)。

    可以看出保存文件内容的导出文件相对更大一些。


    $du-sh cvs2svn-tmp/* 9.8M cvs2svn-tmp/git-blob.dat 24K cvs2svn-tmp/git-dump.dat

    (3)创建空的Git库,使用Git通用的数据迁移命令git-fast-import将cvs2git的导出文件导入到版本库中。


    $mkdir test $cd test $git init $cat../cvs2svn-tmp/git-blob.dat\ ../cvs2svn-tmp/git-dump.dat|git fast-import

    (4)检查导出结果。


    $git reset HEAD $git checkout. $git log-1 commit e3f12f57a77cbffcf62e19012507d041f1c9b03d Author:Jiang Xin<jiangxin@ossxp.com> Date:Tue Sep 21 07:56:31 2004+0000 修改邮件地址; 修改搜索引擎;

    可以看到,这一次的转换结果不但使得日志中的中文可以显示,而且提交者ID也转换成了Git的风格。