convert svn repo to git

Posted divl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了convert svn repo to git相关的知识,希望对你有一定的参考价值。

https://john.albin.net/git/convert-subversion-to-git


1. 抓取Log 在linux 上做的,其余是在win上做的。

2. svn co svn://192.168.1.198/projects/ios --username xx

3. 抓取Log 信息
svn log -q | awk -F ‘|‘ ‘/^r/ sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"‘ | sort -u > authors-transform.txt

4. checkout 
git svn clone svn://192.168.1.198/projects/ios --username xx --no-metadata -A authors-transform.txt --stdlayout ~/temp


5. 新建git repo
git init --bare ~/new-bare.git
cd ~/new-bare.git
git symbolic-ref HEAD refs/heads/trunk

6. push
cd ~/temp
git remote add bare ~/new-bare.git
git config remote.bare.push ‘refs/remotes/*:refs/heads/*‘
git push bare

7. rename branch
cd ~/new-bare.git
git branch -m trunk master

  

以上是关于convert svn repo to git的主要内容,如果未能解决你的问题,请参考以下文章

SVN遇到Can't convert string from 'UTF-8' to native encoding

arch搭建SVN服务器

linux系统之间的svn库迁移步骤,请教高手

使用hg convert将git repo转换为mercurial时出错

SVN 仓库迁移

Apache Lucene 存储库的 SVN 转储