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的风格。