【问题标题】:Why not possible to create a new baseline from within a stream in RTC?为什么不能从 RTC 的流中创建新基线?
【发布时间】:2012-10-10 10:49:28
【问题描述】:

如果我右键单击存储库工作区中的组件,我可以选择在此组件上创建新基线。

但是,如果我在流中右键单击组件,则无法使用创建新基线的选项。

【问题讨论】:

    标签: clearcase rtc


    【解决方案1】:

    必须始终针对 repo 工作区创建基线,因为它必须交付到流中,并被在各自的 repo 工作区中处理同一流的其他协作者接受。

    这与快照不同,您可以在流上创建快照,它允许用户和 RTC 中的构建管理器对交付的代码进行“快照”。

    所以快照和基线的区别在于:

    • 基线必须在流中传递(即不直接创建)
    • 快照用于标记已交付的内容(例如,用它初始化一个新流):没有用户会在其 repo 工作区中接受快照。

    This thread 具有指导意义:

    如果您要将更改传递给开发人员,或者将更改传递给构建,那么您应该通过将这些更改传递到流而不是创建快照来实现。
    然后,开发人员(或构建)将只接受来自该流的更改。

    (这就是基线的来源:对于每个组件,它们允许流动一组冻结的更改)

    快照的目的是记录历史中的一个点,以便您可以“跳转到”(例如,重现旧配置),而不是作为流动更改的机制。

    这与 ClearCase UCM 不同,因为“流”既适用于公共协作空间(如“集成”流),也适用于用户工作区(如“开发流”)。
    基线既是为了记录历史点,也是为了流动变化(通过交付/重新设置基准)。
    RTC 引入了 2 个独立的环境:

    • 一个全球性的团队协作完成给定的开发工作:流(及其快照)
    • 一个用户,每个用户管理他/她的更改:存储库工作区一个(每个组件都有其基线)

    【讨论】:

    • 谢谢,所以从你的回答来看是正确的:我有一个名为“mystream”的流,我想为流中的一个组件创建一个新基线。完成此操作的唯一方法是在存储库工作区中创建一个新基线,然后从此存储库工作区创建一个新流(其中包含新基线)
    • @user470184 不。您可以在 repo 工作区中创建一个新基线,并将其交付给流。您无需创建新流。
    • @user470184 当您创建一个新 Stream 并希望使用在另一个 Stream 中发布的(许多)组件基线对其进行初始化时,快照很有用。您可以在源流上创建一个快照,而不是痛苦地添加每个基线,并将该快照添加到新创建的(但仍然是空的)流上:在一个操作中,您可以取回所有组件及其各自的基线(如上所示源流)。在这种情况下不涉及 repo 工作区(流创建和初始化)。
    • 好的,所以当我在 repo 工作区中创建新快照时,此更改将出现在“待定更改”中,并且当我交付所述更改时,此工作区流向的流将收到所述的新基线组件并将被更新。这是正确的?
    • @user470184,是的,您可以从存储库工作区创建快照(或直接在流上创建)。不同之处在于:repo 工作区上的快照将捕获可能尚未交付的基线。这就是为什么 RTC 说当您交付快照时,流将由所述基线更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多