如何从 clearcase 流中删除基线?

How to remove a Baseline from a clearcase stream?

我在使用 Clearcase 时遇到问题。如果我不清楚或多余,我会提前道歉,因为我对这个 VCS 很陌生,主要来自 Git 背景,我可能不知道如何正确搜索我的问题。

我们每隔几个月就有一个应用程序的新版本(与 CC 无关,业务方面),我们每个版本都会创建一个新的 VOB 和流时间。我们有一个通用流,我们在其中交付完成版本的最后基线,添加新基线,然后将通用流的内容导出到新的 VOB 和 Stream。

我的问题是,由于仓促,我实际上交付了通用流,不是最后一个基线,而是前一个基线。最重要的是,我向通用流添加了一个全新的基线。

我需要能够传送到我的通用流中,最后一个 来自我们以前的应用程序商业版本的基线。

(我主要是在操作 Clearcase 项目资源管理器,因为我真的不知道 cleartool 命令。我尝试使用一些 CLI 解决方案但无法做到,但可能与我们的 Clearcase 服务器的方式有关是)

为了做到这一点,我尝试了:

我会接受任何线索,指示线索,因为我无法找到如何正确推进此事。

提前致谢。

更简单的是:

  • 向通用流传送正确的内容(在错误的内容之上)并设置新的基线
  • 将之前的基线重命名为 "DO-NOT-USE" 名称
  • cleartool lock -obsolete 基线,让它不可见(而不是试图删除它)

这样,您就可以恢复每个版本的连续 delivers/imports,而忘记错误的版本。

如果您在该流中创建的基线是最新的基线,并且尚未被另一个流使用(拉入变基或传送到另一个流),您应该能够删除它。

无论如何,由于您的计划是通过向此 "generic" 流提供在同一父流中创建的更新基线来向前推进,您可以向此流提供正确的基线,制作新基线,并可选择锁定以前的基线。

您可能需要注意的几个 UCM 问题:

  • 如果您将基线传送到另一个流,则源基线将永久不可移除。
  • ALL 交付操作交付基线。如果您不创建基线,交付操作会创建一个 "deliverbl" 基线来交付。
  • 删除流非常重要或不可能。
  • 删除已完成开发工作的项目通常是不可能的。

为了将来参考,删除不在基线中的 activity:

  • 在命令行中描述 activity 以获取版本列表。您可能希望将输出重定向到一个文件中,以便您可以更轻松地将版本信息复制并粘贴到下一步中。要描述 activity,您需要使用“cleartool describe activity:{id}@{project VOB tag}
  • 使用“cleartool rmver -xhlink {version ID}”删除变更集中的所有版本
  • 删除 activity。由于交付显然已完成,因此不应设置activity。