如何完全删除 clearcase 中特定文件的分支?

How to I completely delete a branch for a specific file in clearcase?

我有几个文件想在某些分支上使用,但不想在其他分支上使用。对于这些文件,clearcase 分支如下所示:

Dev ---> Dev/speical_branch_1
    ---> Dev/test_branch_1

我想完全删除这两个文件的测试分支,以便 clearcase 分支看起来像这样

Dev --> Dev/special_branch_1

如何仅针对这些文件删除此分支

这与 becasue I want to delete the branch for specific files. It is also different from Delete file from ClearCase checked out on another branch不同,因为我不想彻底删除文件,而只是从中删除某些分支。

那将使用 cleartool rmver using a version-extended pathname, or a version selector(仅适用于基础 CC,不适用于 UCM)。

想法是删除该分支文件的扩展路径版本

cleartool rmver -force -version \main\Dev\test_branch_1 myFile

(在 Unix 上使用 /,在 Windows 上使用 \)

或者,更短:删除元素 myFiletest_branch_1 分支上 1 和最新版本之间的所有版本

cleartool rmver -vrange  \main\Dev\test_branch_1  \main\Dev\test_branch_1\LATEST myFile

这可能很危险,尤其是在 ClearCase UCM 中,其中每个版本都可以具有与其关联的元数据(属性),这可能会破坏对象(如基线)。
rmver is often blocked 在那种情况下。

但是在基础 ClearCase 中,如果您没有在这些版本上进行任何设置,并且不打算为该文件使用该分支...那应该可以。

我提到了 cleartool rmbranch -f file@@/main/aBranch 'seen in Brian's ) as an alternative approach in "Command to delete branches of Clearcase element with “0” versions"。

@VonC。这个答案是不正确的。您不能删除分支上的 \0 版本。

如果您要从文件中删除整个分支实例,并且这不是 UCM 环境,您将使用:

cleartool rmbranch myfile@@\main\branch

如果是 UCM 环境,事情会变得更具挑战性,通常最好将它们留在那里并创建一个新流。