在对一些老的 svn 仓库进行处理到 Git 的时候,我们可能首先需要把 svn 中的所有内容先导出成 git。
我们可以使用的命令为:
git svn clone ["SVN repo URL"] --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout c:\mytempdir
上面的命令不能直接拿来用,我们需要在 SVN 仓库地址中替换为当前 SVN 仓库的地址。
例如,我们可以使用的仓库地址为:https://yucheng-hu/svn/APPNET/LSS
那么我们需要修改上面的命令为:
git svn clone https://yucheng-hu/svn/APPNET/LSS --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout c:\mytempdir
克隆的文件夹将会在 C 盘下创建一个 mytempdir 目录。
如果你想用不同的目录名字,也可以在这里修改。
提交用户列表
上面我们会提供一个提交用户的对应列表文本。
这个文本的生成办法,请参考:SVN 导出所有用户的信息 文章中的办法生成。
最后修改后,我们运行的命令为:
git svn clone https://yucheng-hu/svn/APPNET/LSS --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout appnet-lss
如果一切没有问题,我们将会看到下面的导出界面。
如果用户对应文件出错的话,可以在命令行中直接不使用用户对应文件。