现在版本仓库基本都使用Git了,但是旧的项目还有使用SVN的,本文就整理保留更新日志的同时把SVN项目迁移至GIT。

1、从SVN项目日志中得到SVN提交记录中的用户

在本地svn checkout的项目目录下执行如下命令:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt

2、准备环境

yum -y install git-svn

3、svn账号与git账号映射

修改上面生成的users.txt,改成如下格式:

svn账号 = git账号名称 <username@mail.com>

4、SVN转换为Git

git svn clone svnprojectrepositoryurl --no-metadata --authors-file=users.txt projectname

5、添加Git仓库

提前准备好一个空的git仓库

cd projectname
git remote add origin gitprojectrepositoryurl

6、提交到Git

git push -u origin master

以上就是保留更新日志同时迁移项目的方法。