svn项目迁移到git项目

1、首先导出svn项目为dump文件

导出命令:首先锁定当前repos,然后导出到dumpfile文件

svnlook youngest myrepos
svnadmin dump myrepos > dumpfile

上面是从根节点导出(导出的文件可能非常大,我的dumpfile就有40G),可以指定节点导出。

svnadmin dump myrepos -r 0:1000 > dumpfile1
svnadmin dump myrepos -r 1001:2000 --incremental > dumpfile2
svnadmin dump myrepos -r 2001:3000 --incremental > dumpfile3

 

svn项目迁移到git项目_第1张图片

2、利用上面的dumpfile,用svn导入dumpfile 得到svn的仓库

svnadmin create newrepos
svnadmin load newrepos < dumpfile

3、最后利用gitsvn 命令,克隆svn项目即可

git svn clone file:///tmp/test-svn -T trunk -b branches -t tags

注意:项目过大的话,可以将后面的“ -b branches -t tags  ” 删除,只保留trunk分支。

svn项目迁移到git项目_第2张图片

svn项目迁移到git项目_第3张图片

 

备注:如果git svn clone file:/// xxxx  报错的话,可以尝试使用 git svn clone svn://localhost 地址

但是前提是需要打开svnserve 服务:(光标会闪烁,不要关闭命令窗口,关闭会推出server服务)

svn项目迁移到git项目_第4张图片

 

可以参考官方文件:

http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

https://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E8%BF%81%E7%A7%BB%E5%88%B0-Git

你可能感兴趣的:(代码管理,git,svn,代码迁移,代码库,gitsvn)