SVN迁移到GIT

生成svn用户

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

转换为git用户

svn2git.py

   c = open('users.txt').readlines()
   f = open('git_users.txt','w')
   for l in c:
    l = l.replace('\n','')
    name = l.split(' =')[0]
    gname = name.split('.')
    firstname = gname[0].capitalize()
    fullname = firstname
    if len(gname) == 2:
        fullname = firstname + ' ' + gname[1].capitalize()
    l = '%s = %s <%s@youcompay.com>\n'%(name,fullname,name)
    f.write(l)
   f.close()

checkout svn的数据:

  git svn clone http://your_svn_url --authors-file git_users.txt --no-metadata -s myproject

如果你的svn结构是标准结构,比如http://root/mobile/trunk,http://root/mobile/branches,http://root/tags
那么your_svn_url=http://root/mobile/

推荐阅读更多精彩内容

  • SVN迁移到Git svn目录结构 先来看看svn目录结构,这个会关系到我们如何迁移。以下说的都是单个项目的迁移。...
    冰火人生阅读 631评论 0 2
  • 本文参考自:Git-与其他系统-迁移到-Git。 也建议阅读之前,先看看此文章,本文主要是对里面方法的一个补充和完...
    飞鱼_T阅读 194评论 0 2
  • 最近项目要求需要把项目从svn迁移到git,并保留原来的一些提交修改记录。在此做个记录,说一下迁移步骤:网上有很多...
    黑炭长阅读 298评论 0 0
  • 终端输入 git svn ... 时,如下报错: 解决方案:
    CoderJackieYip阅读 694评论 1 2
  • &开发过程中离不开源代码的管理, 目地:为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题。 目前开发使...
    早起的虫儿子被鸟吃阅读 1,650评论 0 15