我过去使用过ClearCase,还有subversion,bazaar,mercurial,git和Team Foundation Server。当我使用ClearCase时,我们使用了UCM,我真正喜欢的功能之一是能够按组件分解软件,并在这些组件上设置和推荐基线。
我目前需要类似的功能。我们有一个用于多个产品的库,但是当开发人员进行更改时,他们通常会处理一个产品。它们可能会更改影响其他产品的界面或功能,但对于一个开发人员来说,集成和测试所有产品的更改是不切实际的。相反,我希望让开发人员在他们的产品上做他们的工作,推荐新的基线,然后在适当的时候,其他开发人员可以开始将更改集成到另一个产品中。
我希望VCS支持该工作流程。我想考虑ClearCase的替代品,如果它们存在的话。我对实施ClearCase的“挑战”非常熟悉。 我不想尝试发表意见 - 我只想知道是否有其他VCS支持此功能(或者是否有人开发了自己的工具或流程来模拟另一个VCS),以及如何实施它。
我认为svn中的标签(或其他VCS产品中的等价物)不是答案。在ClearCase中,当您推荐新基准时,它会阻止开发人员处理旧基线 - 他们被迫进行rebase,并继续从新基线开始工作。我不知道如何在任何其他VCS中强制执行rebase操作。
我可以将库放在自己的仓库中,但这会导致其他问题。我仍然需要一种方法来指定(对于构建,发布,开发人员“检查”),使用哪个版本/标记/基线,并且使这部分VCS对于跟踪目的非常有用。
答案 0 :(得分:2)
如果你要用git实现它,你可以使用:
请参阅: