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

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

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


git svn命令
【Linux如何设置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共享使用的方法了,有需要的用户快来试试这种方法吧 。

    推荐阅读