【问题标题】:Migrate SVN repository with multiple projects and svn externals to git将具有多个项目和 svn 外部的 SVN 存储库迁移到 git
【发布时间】:2020-11-23 15:55:55
【问题描述】:

我知道如何迁移具有以下结构的 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://docs.microsoft.com/en-us/azure/devops/repos/git/perform-migration-from-svn-to-githttps://stackoverflow.com/a/3972103/7556646

但是当我的 SVN 存储库具有以下结构时

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

【问题讨论】:

标签: windows git svn version-control git-svn


【解决方案1】:

据我所知,没有直接的方法可以在 Git 中执行与 SVN 外部等效的操作。一种可能的选择是为 Project1 创建一个单独的存储库,然后将此存储库用作 Project2 和 Project3 目录中的子模块。这意味着一旦在 project1 的这个新存储库中更改代码,Project2 和 Project3 中的子模块就可以轻松更新。

这里有更多关于Submodules的信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多