SVN迁移Git

2019-06-17  本文已影响0人  疯狂猪宝宝

参考:GIt - 迁移到Git

构建user.txt

关联svn用户和git用户。

svn log ^/ --xml | grep -P "^<author" | sort -u | \
      perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt

用git svn导入svn库

如果svn库不是标准的trunk/branches/tag目录结构,则需要手动指定对应的trunk/branches/tag。如果branches目录包含了多个项目的分支,可以把指定项目的所有分支切到新的branches目录中。

git svn clone http://my-project.googlecode.com/svn/ \
      --authors-file=users.txt --no-metadata -s my_project

创建本地分支

git for-each-ref refs/remotes | cut -d / -f 3- | grep -v @ | while read branchname; do git branch "$branchname" "refs/remotes/$branchname"; git branch -r -d "$branchname"; done

提交到远程

git remote add origin ssh://git@my-git-server:myrepository.git
git push origin --all
上一篇下一篇

猜你喜欢

热点阅读