【问题标题】:How to merge delivered changesets to work item into one in RTC如何在 RTC 中将交付的变更集与工作项合并为一个
【发布时间】:2013-12-10 07:19:28
【问题描述】:

我已经为给定的工作项交付了 3 个变更集。无论如何,我相信它应该只是一个变更集。 如何将这些变更集合并为一个变更集?

【问题讨论】:

    标签: version-control rtc


    【解决方案1】:

    回复:“我相信它应该只是一个变更集”。这不是必需的,但我理解希望拥有一个包含所有工作的变更集。它使从一个流到另一个流的交付、解决冲突和避免差距变得更加容易。

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

    1. 通过接受所有传入的更改,与您的存储库工作区的流目标同步。
    2. 从存储库工作区中丢弃三个已完成的更改集。下一步就是诀窍了。
    3. 在 Pending Changes 视图中选择组件并选择上下文菜单操作以“Replace in”,您的流程目标在哪里。这将在您的存储库工作区中配置组件,仅缺少三个更改集,并在流目标流中替换它。现在您已经“未交付”三个变更集。
    4. 将三个更改集接受回您的存储库工作区。它们现在应该是组件中唯一传出的更改集,就像您没有交付一样。
    5. 选择您要合并的三个变更集并从中创建补丁。
    6. 从工作项中删除更改集。
    7. 放弃变更集。
    8. 将补丁应用回您的沙盒。
    9. 将更改检查到一个新的更改集中。
    10. 将新的变更集与工作项相关联。
    11. 交付新的变更集。完成。

    如您所见,这不是一项微不足道的任务,因此您可能不会经常这样做,除非您的团队流程要求您这样做。

    【讨论】:

    • 不错(也有点吓人)。感谢您作为 Jazz 开发人员来看看这些问题。关于潜在的差距,我希望jazz.net/jazz/web/projects/… 更接近完成。
    【解决方案2】:

    如果这些更改集已交付到流中,则不能。

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

    这意味着这些更改集还没有“完成”(它们的三角形图标上还没有一个绿色的勾号)。
    当变更集是基线的一部分或交付到流时,变更集将完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 2012-09-17
      • 2010-09-28
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多