如何从 SVN 仓库中克隆成 Git 仓库

,

在对一些老的 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

如果一切没有问题,我们将会看到下面的导出界面。

如果用户对应文件出错的话,可以在命令行中直接不使用用户对应文件。

1 Like