今天准备把一个SVN的项目迁移到Git上,看了一下网络上的迁移方法
git svn clone svn://192.168.1.108:9999/ --no-metadata -A user.txt --trunk=trunk --tags=tags --branches=branches myProject
,看上去好像不难,试了一下,发现一个很悲剧的事情:SVN的结构不是标准结构-_–#
- branches
- A1
- A2
- B1
- B2
- trunkA
- trunkB
- tagsA
居然将两个项目放在了一起,就不能使用标准的方法了 T^T
git svn clone svn://192.168.1.108:9999/yanzi/ --no-metadata -A user.txt --trunk=trunkA --tags=tagsA --branches=branches --ignore-refs=refs/remotes/A.* myProject
通过ignore-refs设置来过滤,总算可以SVN2GIT……
但是,悲剧了,遇到这种错误:
1 2 |
|
Google一下,修改了SVN.pm文件,把
1 2 |
|
替换为
1 2 3 4 5 6 |
|
再试一试,又挂了…… T^T
1
|
|
又Google,修改SVN.pm,把
1
|
|
改完
1
|
|
总算完成了~
据说是git版本的bug,有的人说更新Git可以修复,但是我这个Git是Apple自动维护的,也就懒得更新了,先记着吧~