简体   繁体   English

StarTeam视图/分支方法

[英]StarTeam view/branching approach

We're looking for some advice on our StarTeam configuration. 我们正在寻找有关StarTeam配置的一些建议。 We have a project that is used by two main customers. 我们有一个由两个主要客户使用的项目。 We share a common code base but we want to be able to do development for one customer at a time. 我们共享一个共同的代码库,但我们希望能够一次为一个客户进行开发。 Does anyone know what the best way to do this is using StarTeam? 有谁知道最好的方法是使用StarTeam?

I would think you would want to do something like this: 我想你会想做这样的事情:

->Main branch (1.0)
-->Cust #1 Release (1.1)
-->Cust #2 Release (1.2)

As 1.1 is done, you would merge this code into 2.0. 完成1.1后,您将此代码合并到2.0中。 Same for 1.2. 同样的1.2。 Then you would create 2.1 or 2.2. 然后你会创建2.1或2.2。

Does this make sense? 这有意义吗? Just looking for some common sense configuration management solutions that would work for our scenario and would work easily with StarTeam. 只是寻找一些适用于我们场景的常识配置管理解决方案,并且可以轻松使用StarTeam。

Thanks. 谢谢。

Update : I found an ST best practices guide that contains useful info regarding this question (see chapter 5). 更新 :我找到了ST 最佳实践指南 ,其中包含有关此问题的有用信息(请参阅第5章)。 The recommendations are inline with Craig's ST usage (see below). 这些建议符合Craig的ST用法(见下文)。 Note that this guide was published Dec 2003. 请注意,本指南于2003年12月发布。

You may not want to hear this, but there is no single best way. 你可能不想听到这个,但没有一种最好的方法。 Having said that, I will tell you what we do. 话虽如此,我会告诉你我们做了什么。

We do nearly all development in the default view. 我们在默认视图中进行几乎所有开发。 When we are close enough to releasing one version of a product that we want to start working on the next version, whenever that happens to be, we make a derived view for the version to be released. 当我们足够接近发布我们想要开始处理下一个版本的产品的一个版本时,无论何时发生,我们都会为要发布的版本创建派生视图。 The derived view is set to branch on change. 派生视图设置为在更改时分支。

We continue development of both the version to be released and the next version in the default view. 我们继续开发要发布的版本和默认视图中的下一个版本。 When there is a bug fix or feature which needs to be included in the version to be released, there are two possibilities: 当需要包含在要发布的版本中的错误修复或功能时,有两种可能性:

  1. The only thing which has changed in that file is the bug fix or feature which we want in both the version to be released and the next version. 该文件中唯一发生变化的是我们想要发布的版本和下一版本中的错误修复或功能。
  2. There have been changes made to the file which are intended to be included in the next version, but not in the version to be released. 已对文件进行了更改,这些更改将包含在下一版本中,但不会在要发布的版本中包含。

In the case of (1), we go into the derived view, right-click the file, choose Advanced->Behavior, and change the Configuration such that the file includes the changes we've just made. 在(1)的情况下,我们进入派生视图,右键单击该文件,选择Advanced-> Behavior,然后更改Configuration,使文件包含我们刚刚进行的更改。 In the case of (2), we check the file into the default view (so that the changes will be included in the next version) and into the derived view (so that the changes will be included in the version to be released, and, of course, only including these changes), causing it to branch. 在(2)的情况下,我们将文件检入默认视图(以便更改将包含在下一个版本中)并进入派生视图(以便更改将包含在要发布的版本中,并且当然,只包括这些变化),导致它分支。

To be clear, we do nearly all of our work in the default view. 为了清楚起见,我们在默认视图中完成了几乎所有工作。 We rarely have to manually branch or change the configuration of files in derived views, because we do not create the derived views at all until we are very close to release. 我们很少需要手动分支或更改派生视图中的文件配置,因为在我们非常接近发布之前,我们根本不创建派生视图。

This is not too far from what you propose doing for your customers, but the important point is to work in the default view and avoid having to do bulk merges up or down into the derived views. 这与您为客户提出的建议并不太远,但重要的是在默认视图中工作,避免必须在派生视图中向上或向下批量合并。 StarTeam's view compare/merge tool is just not that great. StarTeam的视图比较/合并工具并不是那么好。 (We are using 2005; it may have improved since then.) (我们正在使用2005年;从那时起它可能已有所改进。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM