首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RTC:解决流差距?

RTC:解决流差距?
EN

Stack Overflow用户
提问于 2012-05-23 02:15:22
回答 2查看 2.8K关注 0票数 4

我在RTC中有一个文件(称为foo.c),我修改了该文件,并将其与其他一些更改一起签入到变更集(CS1)中。然后,我再次修改了该文件,并将其与其他更改一起检入到不同的更改集(CS2)中。

我现在遇到了一种情况,我想要将CS2传递给一个流,但RTC给了我一个错误,传递这将在流中产生间隙(因为CS1中的更改)。我还不想交付所有的CS1,因为它包含了一些不应该在构建中的更改。在CS1中对foo.c的原始更改是对#include的微小删除,并且不会影响其他任何内容。

有什么方法可以解决这个差距吗?

我在RTC文档中看到了一些关于应用补丁的东西,但我不明白它是怎么回事。

有没有一种方法可以将一个变更集拆分为多个变更集,这样我就可以只交付一个文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-23 03:27:39

自2012年以来的更新(以及最初的“变通办法”,即交付所有内容并恢复您不想要的内容):

请参阅this thread

在RTC4.0.5中,我们在尝试接受有差距的变更集时提供了额外的支持(在尝试修复后向端口时经常遇到)。在该功能的一个非常简短的摘要中,当您接受带有间隙的变更集时,您现在可以遵循间隙工作流,该工作流一次接受一个变更集,并且对于包含间隙的变更集,创建一个包含等效变更的新变更集(具有辅助可追溯性)。

这意味着用户将不必接受变更集“作为补丁”。与新的工作流程相比,将变更集作为补丁应用具有局限性。

此功能在RTC 4.0.5 'New & Noteworthy' page中进行了总结。

下面是一些演示此功能的视频:

这就是Locate Change Sets的特性:

在RTC5.0中,我们添加了一个"fill

gap“功能,在该功能中,将向用户显示填补空白的更改集,允许用户接受所有更改集或继续使用RTC4.0.5中提供的gap工作流。

此功能在RTC 5.0 'New & Noteworthy' page中进行了总结,用于填补空白的类包括(RTC5.0中提供的):

客户端: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)服务器端: IScmQueryService.findChangeSetsToAcceptToFillGap(...)

这两个特性在"Improved Gap Handling for SCM“文章中都有详细的解释。

原始答案(2012)

有没有拆分变更集的方法?

我不这么认为,阅读changeset man page

零部件中的文件或文件夹不能是多个活动更改集的一部分。

当文件或文件夹包含在活动变更集中时,无论该变更集是否为当前变更集,对该文件或文件夹的所有变更都将成为该变更集的一部分,并且在包含该文件或文件夹的活动变更集完成之前,无法将对该文件或文件夹的所有变更显式检入到新的变更集中。

在CS1和CS2中有foo.c意味着CS1已经“完成”(本质上是冻结的),尝试拆分它是不好的。

补丁解决方案意味着:

  • CS1
  • adding the additional changes to foo.c to CS2
  • redoing CS1 changes

(取消将重做更改添加到foo.c的附加更改)

参见"How do I remove a change set from a stream?

Story 149483是为了增强这个繁琐的工作流程,而差距检测正在得到增强(Enhancement 24822)

OP timwoj的结论是:

我最终只是提供了所有的东西,然后颠倒了我不想要的

票数 2
EN

Stack Overflow用户

发布于 2012-05-24 01:44:01

问题: CS1改变了foo.c,CS2进一步改变了foo.c。您只想交付CS2,但RTC告诉您这会引入差距。

解决方案:从CS2创建一个补丁,并挂起CS1和CS2。然后应用补丁,将其合并到您的工作区中,并签入更改,这将创建另一个更改集CS3,与CS2相同,但不依赖于CS1。您现在可以交付CS3了。

交付CS3后,您可以丢弃CS2并恢复CS1,这将需要您与CS3合并。

然后,您应该处于CS1构建于CS3之上的状态,并且您可以选择是否在将来交付CS1。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10707694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档