SVN到GIT迁移与分支历史合并

时间:2013-01-04 08:03:03

标签: git svn migration

关于svn to git migration的另一个“愚蠢”问题:) 我有一个旧的svn仓库,里面有20个项目。

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

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

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

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

  • 有历史的新项目主干:
    • 承诺2009年的行李箱
    • 提交2010版1.0(表示为对trunk的提交)
    • 承诺2011年版本1.1(表示为对主干的提交)
    • 提交2012版1.2(代表对trunk的提交)

我不想迁移的内容:

  • 标记
  • 2010-2012期间的行李历史
  • 2011-2012期间的1.0版历史
  • 2012年版本1.1历史

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

不要试图让所有提交的提交都迁移过来。这不值得努力。获取每个重要标签,分支等的快照,并以一种反映SVN中所做内容的方式在git中提交它们。

相反,请将SVN历史记录保存在服务器,CD,DVD等上,以便在需要时检查。你刚刚救了你的理智。