如果我有两个开发流(称为Stream1,Stream2),我想将这两个流合并为一个流。
目前我正是这样做的:
这是合并2个或更多流的最佳实践还是更优雅的方法?
答案 0 :(得分:12)
创建新流???没必要。
当您打开一个repo工作区时,您有一个名为“Flow targets”的部分,它包含在您的Stream中(表示为“Default”)。
添加Stream源(要合并的Stream),将其设置为“current”,您将在“Pending changes”视图中看到包含所有更改集或基线的“Incoming”部分来自源流。
您的想法是接受这些更改集,将它们加载到本地工作区并测试它们(编译和测试),然后将传递回默认流。
“接受”阶段是合并发生的地方(如果发生冲突,则自动或手动) 如this thread中所述:
RTC中的合并算法在逻辑上与ClearCase中的相同,即,给定一个选择给定文件的不同版本的配置(流,工作空间),找到两个版本的共同祖先,然后执行三方合并。
更改工作空间的“流程目标”只是RTC允许您指定要合并到工作空间中的分支(流)的方式(cleartool findmerge
为您提供相同的灵活性)。
请注意,ClearCase和RTC使用不同的共同祖先算法。
最后一步假设您返回“流量目标”部分,并将“当前”设置为默认流。
我更喜欢这个工作流程:
此处Brent会将目标流设置为当前,以便提供合并的结果。这是另一种工作流程,也在“How to keep your streams flowing smoothly in Rational Team Concert 3.0.1”中进行了描述。