如何将交付的变更集合并到RTC中的工作项

时间:2013-12-10 07:19:28

标签: version-control rtc

我已经为给定的工作项提供了3个变更集。无论如何,我认为它应该只是一个变化。 如何将这些变更集合并到一个变更集中?

2 个答案:

答案 0 :(得分:2)

回复:“我相信它应该只是一个变化”。这没有必要,但我理解希望有一个变更集来封装所有工作。它可以更轻松地从流传输到流,解决冲突并避免差距。

正如VonC所说,您无法在技术上合并更改集,但是,您可以创建具有相同更改的新更改集。这是一项工作,他们都必须在同一个组件中。变更集不能跨越组件。此外,如果更改集之间存在间隙,您可以进行一些合并。以下是一般步骤。

  1. 通过接受所有传入的更改,与存储库工作区的流目标同步。
  2. 从存储库工作区中丢弃三个已完成的更改集。下一步就是诀窍。
  3. 在Pending Changes视图中选择组件并选择上下文菜单操作“Replace in”,您的流目标在哪里。这将采用存储库工作空间中组件的配置,仅丢失三个更改集,并将其替换为流目标流。现在你已经“未送达”了三个变更集。
  4. 将三个更改集接受回存储库工作区。它们现在应该是组件中唯一的传出更改集,就像您没有交付一样。
  5. 选择要合并的三个更改集并从中创建补丁。
  6. 从工作项中删除更改集。
  7. 弃掉更改集。
  8. 将补丁应用回沙盒。
  9. 将更改检查为一个新的更改集。
  10. 将新更改集与工作项关联。
  11. 提供新的更改集。完成。
  12. 正如您所看到的,这不是一项微不足道的任务,因此您可能不会经常这样做,除非您的团队流程要求您这样做。

答案 1 :(得分:0)

如果这些更改集已经传递到流,则不能。

如果通过“deliver”,您的意思是“将关联更改为工作项,但尚未传递到流,那么您可以将文件和目录从其中两个更改集移动到第三,然后“丢弃”那两个(现在是空的)变更集。

这意味着这些变更集并未“完成”(它们的三角形图标上没有绿色勾号)。 更改集在基线的一部分或传递到流时会完成。