1

关于 svn 到 git 迁移的另一个“愚蠢”问题:) 我有一个旧的 svn 存储库,里面有大约 20 个项目。

/
|-projectA
|-projectB
|-projectC
|....

我只想迁移 projectA 并保留其所有历史记录。听起来很简单 :) 但主要问题在于 projectA 内部的结构和修订历史。

/
|-projectA
|       |-trunk
|       |-branches
|       |         |-version 1.0 
|       |         |-version 1.1
|       |         |-version 1.2
|       |-tags
  • 2009:我们只有“主干”,所有更改都提交到主干
  • 2010:基于主干创建分支版本 1.0。提交到主干并提交到 1.0 版(一些客户有来自主干的版本,一些来自分支)
  • 2011:基于 1.0 版本创建分支版本 1.1。提交到主干,提交到版本 1.0 和 1.1
  • 2012:基于 1.1 版本创建分支版本 1.2。提交到主干,提交到版本 1.0、1.1 和 1.2

现在我们要将所有客户升级到 1.2 版本并将项目迁移到 git。所以 我想迁移到 GIT:

  • 具有历史意义的新项目主干:
    • 承诺 2009 年的主干
    • 提交到 2010 年的 1.0 版(表示为对主干的提交)
    • 提交到 2011 年的 1.1 版(表示为对主干的提交)
    • 提交到 2012 年的 1.2 版(表示为对主干的提交)

我不想迁移的内容:

  • 标签
  • 2010-2012 年期间的主干历史
  • 2011-2012 年 1.0 版历史
  • 2012 年版本 1.1 历史记录

有任何想法吗?

4

1 回答 1

2

不要试图迁移所有提交。这不值得努力。拍摄每个重要标签、分支等的快照,并以反映 SVN 中所做的方式将它们提交到 git 中。

取而代之的是,将 SVN 历史记录保存在服务器、CD、DVD 等上,以便您可以在需要时进行检查。你刚刚拯救了你的理智。

于 2013-01-04T08:18:14.387 回答