将Clearcase的历史保存到Git?

时间:2012-09-13 16:12:28

标签: git clearcase clearcase-ucm

在我的公司,我们正在(完全)从ClearCase UCM过渡到Git。使用Git一段时间后我们不会使用Clearcase。

在转型中,是否有任何好的工具可以将ClearCase的历史带入Git?

另外,我已经阅读了很多一个组件=一个回购。但是,我们希望重新组织当前组件并将其拆分为更小的部分。 (设置ClearCase的人并没有真正提前计划。)还有办法吗?

任何意见都将受到赞赏 - 包括在过渡期间需要注意的答案和其他事项。

3 个答案:

答案 0 :(得分:7)

至少,使用ClearCase UCM,您可以使用完整的基线,即在给定组件的所有文件上设置的标签。

根据经验,您从不将完整的历史记录从ClearCase导入到版本控制工具,该工具基于参考的修订(请参阅difference between ClearCase and Git:ClearCase具有历史记录集文件按文件,而不是"修订版修订")

正如我在回答中提到的那样,我通常会这样做,Sync GIT and ClearCase"是:

  • 每个UCM组件一个Git repo
  • 仅导入Integration Stream的最后3或4个基线
  • 仅在确实需要的情况下从子流导入一些基线
  • 锁定UCM vob并将ClearCase保持在只读模式以进行存档

答案 1 :(得分:3)

尝试使用此工具将历史记录从ClearCase导入git:https://github.com/charleso/git-cc

关于从ClearCase迁移到git时repos的重组,关于SO的讨论很少,例如: Sync GIT and ClearCase

答案 2 :(得分:3)

我不会立即退出明确的案件。你想要做的是提交明确案例和任何标签的任何分支的提示。这应该以一种反映清晰情况(保留逻辑分支点等)的方式来完成。从那时起使用git。如果您需要深入了解历史,请参阅清除案例。最终归档清除大小写,只有在绑定时才能恢复它以查看一些旧提交。根据我的经验,导入旧历史并不值得。它通常非常耗时且容易出错。