2013-01-04 185 views
1

多了一个“愚蠢”的问题:) 我有内部〜20个项目的一个老svn的。SVN到GIT的迁移与分支合并的历史大约svn涉及到git的迁移

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

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

/ 
|-projectA 
|  |-trunk 
|  |-branches 
|  |   |-version 1.0 
|  |   |-version 1.1 
|  |   |-version 1.2 
|  |-tags 
  • 2009年:我们只有 “躯干”,并在致力于主干
  • 2010年,所有的变化:分支版本1.0是基于主干创建。承诺 中继并提交到版本1.0(某些客户的版本从 中继,某些分支)
  • 2011:分支版本1.1基于版本1.0上的 创建。提交到主干,承诺版本1.0和1.1
  • 2012:分支版本1.2是基于1.1版本创建的。提交 到主干,承诺1.0,1.1版和1.2

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

  • 新干线:
    • 承诺树干,2009年
    • 承诺1.0版本于2010年(代表为提交到主干)
    • 提交到2011版本1.1(代表提交到中继)
    • 提交到版本1.2 for 2012(代表提交到中继)

我不想要迁移什么:

  • 标签
  • 树干历史2010-2012年期间
  • 1.0版本历史时期2011-2012
  • 版本1.1历史时期2012

有什么想法?

回答

2

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

相反,继续服务器,CD,DVD等SVN历史,所以你可以在你需要检查的东西。你刚刚救了你的理智。

+0

您好先生,请你看看我的问题[这里](http://stackoverflow.com/q/36157555/3287204)?提前致谢 ... :) –