Linux如何设置git与svn共享使用

  Linux用户有许多人都在使用svn,不过现在许多用户已经改用git了,因为svn不如git好用,不过要将svn替换成git比较麻烦,因此许多用户都想要知道如何让git与svn共享使用,下面一起来看看解决的方法吧。

Linux如何设置git与svn共享使用

  git svn命令

  Git 中所有 Subversion 桥接命令的基础是 git svn 。所有的命令都从它开始。相关的命令数目不少,本文不过多介绍git svn的命令使用,只简单的说明一下最常用的几个,更多的知识参考书记pro git。

  整理用户名与Email的映射

  在 Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中。如果想让已有的信息更好的映射到 Git 作者数据里,则需要 从 Subversion 用户名到 Git 作者的一个映射关系,因为Git是用邮箱来标识一个提交者的。建立一个叫做 user.txt 的文件,每行一条svn作者 = 作者昵称 《邮箱地址》,用如下格式表示映射关系:

  user.txt的demo

  schacon = Scott Chacon 《schacon@geemail.com》

  selse = Someo Nelse 《selse@geemail.com》

  SVN代码的所有提交者的作者名可以通过以下命令获得:

  获取svn提交的作者名

  svn log –xml | grep “^《author” | sort -u | \

  awk -F ‘\《author\》’ ‘{print $2}’ | awk -F ‘\《/author\》’ ‘{print $1}’ 》 user.txt

  得到以下文本,然后根据以上的格式编辑作者的邮件信息等。

  得到了svn的作者名

  schacon

  selse

  这样我们的把有svn的提交记录的作者、邮箱user.txt都准备好了,接下来就克隆svn的地址。

  克隆svn的trunk到本地

  git svn clone http://example.com/path/to/project-x/trunk \

  –authors-file=users.txt project-x

  http://example.com/path/to/project-x/trunk是svn的项目地址,这里用了trunk的目录。

  –authors-file=users.txt是指明svn的作者信息,git要用到。

  project-x是文件夹名字

  –no-metadata参数可以不要svn的信息,适合迁移的时候使用,不适合git svn共用

  以上就是让Linux系统git与svn共享使用的方法了,有需要的用户快来试试这种方法吧。

未经允许不得转载:系统吧-电脑系统大神 » Linux如何设置git与svn共享使用

赞 (0)