SVN单个项目迁移到Gitlab

        使用命令行方式,将SVN上的单个项目(没有trunk、branch、release等)迁移到Gitlab。

1 前置条件

TortoiseSVN 安装时选择 cmd line,默认安装是不支持的,需要重新安装。

在gitlab上新建一个project和一个branch用来存放svn的内容;

2 clone svn文件

(1)新建文件夹,最好不要中文命名,右键git Bash here,输入如下命令回车,生成userinfo.txt。

svn log https://你的svn_project_path -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"amber.chen@yeestor.com>"}' | sort -u > ./userInfo.txt

可以在文件夹下看到userinfo.txt,内容如下:

(2)输入如下命令,clone svn指定路径的内容

git svn clone https://你的svn_project_path --no-metadata --no-minimize-url --authors-file=userinfo.txt --no-minimize-url demo

--no-metadata:不拉取SVN metadata附加信息

--no-minimize-url:克隆时只会拉取你要求的项目,不会自动拉取上级内容。

--authors-file=userinfo.txt:根据提供的文件,将提交的作者名称映射到对应的用户邮箱地址。

demo:本地存放svn指定路径的内容的文件夹

(3)可能出现的问题:

E0701+Administrator@E0701 MINGW64 /e/ABC

$ git svn clone --stdlayout --no-metadata -A userInfo.txt https://你的svn项目地址/trunk

Can't load '/usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.dll' for module SVN::_Core: No such file or directory at /usr/lib/perl5/core_perl/DynaLoader.pm line 193.

at /usr/lib/perl5/vendor_perl/SVN/Base.pm line 59.

BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/SVN/Core.pm line 5.

Compilation failed in require at F:/Git/mingw64/share/perl5/Git/SVN/Utils.pm line 6.

BEGIN failed--compilation aborted at F:/Git/mingw64/share/perl5/Git/SVN/Utils.pm line 6.

Compilation failed in require at F:/Git/mingw64/share/perl5/Git/SVN.pm line 32.

BEGIN failed--compilation aborted at F:/Git/mingw64/share/perl5/Git/SVN.pm line 32.

Compilation failed in require at F:/

解决方法:升级git版本,win10操作如下:管理员身份打开cmd,输入以下命令:git update-git-for-windows,如果fail了,重新输入一次命令就可以了。

3 push到gitlab远程仓库

        进入demo文件夹,右键git Bash here,输入如下2条命令即可,在gitlab网页即可看到master分支,点击history就可以看到之前在svn上提交的日志。

git remote add origin https://你的gitlab_project_path

git push -u origin master

参考文档:

git svn官方手册http://schacon.github.io/git/git-svn.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值