svn -> 具有多个主干/分支/标签的 git 迁移

Mau*_*fer 5 svn git git-svn

我有一个 SVN 存储库,其当前结构如下:

  • 项目1
    • 分支机构
    • 树干
    • 标签
  • 项目2
    • 分支机构
    • 树干
    • 标签

最初具有以下结构:

  • 项目
    • 分支机构
    • 树干
      • 项目1
      • 项目2
    • 标签

也就是说,该项目被分成两个单独的“子存储库”(或者任何你想称呼的名称)

有什么方法可以将其迁移到 git而不丢失历史记录吗?对于这种情况,svn2git 会比 git-svn 更好吗?还有其他迁移工具吗?

编辑:我按照建议尝试了 git svn clone ,但正如我所想,它没有遵循从旧结构到新结构的转变。它仅导入新结构的修订。

Mau*_*fer 3

首先我将主干转换为 git:

git svn clone url-to-project -s
Run Code Online (Sandbox Code Playgroud)

然后我转换了每个项目:

git svn clone url-to-project1 -s
git svn clone url-to-project2 -s
...
Run Code Online (Sandbox Code Playgroud)

然后,对于每个项目,我使用移植物和过滤器分支附加主干的先前历史记录。

我刚刚在博客上谈到了这一点