将带有多个项目和svn外部引用的SVN仓库迁移到Git

8
我知道如何迁移具有以下结构的 SVN 存储库。
SVN Repo1
  + trunk
  + branches
  + tags

我可以使用以下命令
git svn clone svn://hostname/Repo1/ --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout c:\mytempdir

请参见 https://learn.microsoft.com/zh-cn/azure/devops/repos/git/perform-migration-from-svn-to-githttps://dev59.com/5HVD5IYBdhLWcg3wHn2d#3972103,如果我的 SVN 仓库具有以下结构,则可以按照上述指南将其迁移到 Git。
SVN Repo2
  + Project1
      + trunk
      + branches
      + tags
  + Project2
      + trunk
          + Project1 <-- external to ^/Project1/trunk
      + branches
      + tags
  + Project3
      + trunk
          + Project1 <-- external to ^/Project1/trunk
      + branches
      + tags

我不知道如何将它转换为git。

我应该迁移Repo2中的每个项目吗?在这种情况下,svn外部引用丢失了。 还是有一种方法可以移动整个Repo2

备注:SVN客户端用户只检出Project2Project3而不是Project1


请参见以下链接:https://dev59.com/HnRB5IYBdhLWcg3wn4YL - LeGEC
1个回答

1
据我所知,在Git中没有直接实现SVN外部引用的方法。一个潜在的选择是为Project1创建一个单独的存储库,然后将此存储库作为子模块放置在Project2和Project3目录中。这意味着一旦在Project1的新存储库中更改了代码,Project2和Project3中的子模块就可以轻松更新。
以下是有关子模块的更多信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接