SVN 迁移 Git 步骤
1. 获取提交历史人员信息
进入svn管理的服务文件夹:
代码语言:txt复制cd ExampleServer保存提交历史人员列表:
代码语言:txt复制svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /' > users.txt2. 创建用户映射 ,将 SVN 用户和 Git 用户对应起来:
修改users.txt,将每一行都转换形式:
<author>svnusername</author>
修改为--->
svnusername = gitusername <email@address.com>修改后的users.txt长这样:
svnusername = gitusername <email@address.com>
svnusername2 = gitusername2 <email2@address.com>3. 使用git svn clone
新建一个目录,拷贝刚刚生成的users.txt:
mkdir git_svn
cd ExampleServer/
mv users.txt ../git_svn/执行git svn clone:
cd git_svn/
git svn clone svn_proj_url --authors-file=users.txt --no-metadata ExampleServer如果出现下面错误:
代码语言:txt复制Can't locate SVN/Core.pm in @INC...则执行一下:
代码语言:txt复制yum install subversion-perl执行完后,git_svn目录下会多出一个目录ExampleServer。
4. 新建git库
在git库中下新建一个项目ExampleServer:
https://github.com/gitusername/ExampleServer.git5. push到远程git仓库
进入刚 clone 的新目录下:
代码语言:txt复制cd git_svn/ExampleServer/push到远程:
代码语言:txt复制git remote add origin https://github.com/gitusername/ExampleServer.git
git push -u origin master


