Version control StarTeam视图/分支方法

Version control StarTeam视图/分支方法,version-control,starteam,Version Control,Starteam,我们正在寻找一些关于星际团队配置的建议。我们有一个由两个主要客户使用的项目。我们共享一个共同的代码库,但我们希望能够一次为一个客户进行开发。有人知道使用StarTeam是最好的方法吗 我想你会想这样做: ->Main branch (1.0) -->Cust #1 Release (1.1) -->Cust #2 Release (1.2) 完成1.1后,您可以将此代码合并到2.0中。1.2也一样。然后创建2.1或2.2 这有意义吗?只是想寻找一些常识性的配置管理解决方案,这

我们正在寻找一些关于星际团队配置的建议。我们有一个由两个主要客户使用的项目。我们共享一个共同的代码库,但我们希望能够一次为一个客户进行开发。有人知道使用StarTeam是最好的方法吗

我想你会想这样做:

->Main branch (1.0)
-->Cust #1 Release (1.1)
-->Cust #2 Release (1.2)
完成1.1后,您可以将此代码合并到2.0中。1.2也一样。然后创建2.1或2.2

这有意义吗?只是想寻找一些常识性的配置管理解决方案,这些解决方案将适用于我们的场景,并且可以轻松地与StarTeam合作

谢谢


更新:我发现一个ST包含了关于这个问题的有用信息(见第5章)。这些建议符合Craig的ST用法(见下文)。请注意,本指南于2003年12月发布。

您可能不想听到这一点,但没有单一的最佳方法。话虽如此,我将告诉你我们做什么

我们几乎在默认视图中进行所有开发。当我们即将发布产品的一个版本,我们希望开始开发下一个版本时,无论何时,我们都会为即将发布的版本创建一个派生视图。派生视图设置为更改时分支

我们在默认视图中继续开发要发布的版本和下一个版本。当需要在发布的版本中包含bug修复或功能时,有两种可能性:

  • 该文件中唯一改变的是我们希望在即将发布的版本和下一个版本中修复的bug或功能
  • 对该文件进行了更改,这些更改将包含在下一版本中,但不会包含在即将发布的版本中
  • 在(1)的情况下,我们进入派生视图,右键单击该文件,选择Advanced->Behavior,然后更改配置,使该文件包含我们刚才所做的更改。在(2)的情况下,我们将文件签入默认视图(这样更改将包含在下一个版本中)和派生视图(这样更改将包含在要发布的版本中,当然,只包含这些更改),从而使其分支

    更清楚地说,我们几乎所有的工作都是在默认视图中完成的。我们很少需要手动分支或更改派生视图中文件的配置,因为在非常接近发布之前,我们根本不会创建派生视图


    这与您建议为客户执行的操作相差不远,但重要的一点是在默认视图中工作,避免向上或向下批量合并到派生视图中。StarTeam的视图比较/合并工具并没有那么好。(我们正在使用2005;从那时起可能有所改进。)

    Thx。那么您是说新版本的派生视图不会自动继承对默认视图所做的更改?如果希望默认视图更改继承到派生视图,则可以在dervied视图中逐个文件更改设置,以便这些单独的文件继承。对吗?假设你正在处理一个大项目,它将在1年内上线。此外,还将处理5个小项目,这些项目将在下一个y期间上线。您不希望大项目代码与小项目一起使用,但希望小项目代码与大项目一起使用。如何处理?一开始可以做5个派生的v,但似乎很痛苦。我通常处理这个问题的方式是尽可能将大的项目放在完全独立的代码模块中。我可能需要重构其他模块来实现这一点,但我会小心地以非破坏性的方式进行。然后,在新功能准备好之前,我不会向最终用户公开它。我明白了。按照您的方法,如果您更改派生v中某个文件的配置以允许继承,以便在派生v中拾取来自默认v的更改,那么您是否可以再次更改该配置,以便这是该文件唯一要继承的更改,并且将来的更改不会被继承?是的,这是有效的。只需将日期设置为您想要的任何修订版本。我不知道您的问题,但StarTeam最佳实践指南有更新。它的日期是“2008年5月”,作者是“兰迪·古克”。对不起,我没有链接,只有一些打印出来的页面。