要做从SVN到GIT的转移工作,先查了查相关信息。
GIT的新版本里提供了一个
$ git svn
的命令可以转移版本历史
在试的过程中发现这个命令有几个dependency:
- Git的版本不能太老,我用的1.7.0就没有这个命令,有git-svn命令的说明,但是没有用.后来我换成了1.9.4的Git就没在Git上出问题了。
- 必须要装SVN。由于我用的是CentOS,所以yum install subversion就可以了。
- 要保证cpan里的SVN::Core模块要装好。perldoc -l SVN::Core 可以用这个命令查看。
目前比较郁闷地卡在第三步。
执行git svn的时候,报错提示:
Can't load '/usr/local/lib64/perl5/auto/SVN/_Core/_Core.so' for module SVN::_Core: libsvn_swig_perl-1.so.0: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200.
仔细检查了一下
$ ldd _Core.so
发现是缺少了
libsvn_swig_perl-1.so.0
这个文件。
目前仍在努力解决中。
最终解决方法:
最终其实并没有解决这个问题。
用了个等价替换的办法,直接在Windows系统下装好Git Bash和Subversion,在Windows系统下进行Svn到Git的Migration
虽然Windows当服务器不怎么样,不过有的时候还是挺好用的。