从SVN迁移到GitLab

之前公司代码版本管理用的都是 SVN ,最近搭了 GitLab 。所以想把代码从 SVN 迁移到 GitLab 上。但是 SVN 的提交记录又不能丢,也要跟着一起迁移,所以本篇记录一下迁移的方法。

yum install -y git-svn

安装 git-svn ,可以帮助你很轻松的从 SVN 转到 GitLab 上。

然后 cd 到要迁移到 SVN 项目的根目录下

svn log –xml | grep author | sort -u | perl -pe ‘s/.>(.?)<./$1 = /’

这条命令会输出 SVN 所有提交过的人的名字,比如

<author>xiaoming</author>

<author>xiaowang</author>

<author>xiaohong</author>

然后新建一个文件,用于保存该记录

touch svn-history.txt

再然后我们就要对这个记录做一些处理,能让 Git 识别这些代码提交者

vi svn-history.txt

把内容改成如下:

xiaoming = xiaoming xiaoming@163.com

xiaowang = xiaowang xiaowang@qq.com

xiaohong = xiaohong xiaohong@qq.com

保存好后,输入命令

git svn clone svn://svn.yoursvnaddress.com/XXXX/ –no-metadata –authors-file=svn-history.txt

这条命令会在当前目录下新建一个 XXXX 项目,这个 XXXX 项目是用 Git 的。

cd XXXX

git remote add origin git@yougitaddress:xxx/XXXX.git

git push origin –all

这样就完成了从 SVN 到 GitLab 的迁移,并且是包含了 SVN 提交记录的。

    原文作者:yyyuqirong
    原文地址: https://www.jianshu.com/p/8cf987968ab9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞