如何使用cleartool在分支上标记新文件?

时间:2014-03-05 12:43:37

标签: clearcase cleartool

为了提供一些上下文,我正在尝试编写一个脚本,该脚本将采用带有clearcase元素的文本文件,并标记所有这些元素。

要生成文本文件,我基本上使用以下命令:

cleartool find -a -nxn -ele "brtype(branchName)" -print > "textfile.txt"

然后我浏览文本文件并删除我不想标记的元素。最后一步是将文本文件提供给一个脚本,该脚本会在文件的每一行上重复调用一个cleartool命令。

对于所有现有文件/文件夹,我可以运行此命令:

cleartool mklabel -rep "label_name" (element_path)

我遇到麻烦的地方是已经添加到分支机构的文件。它们以“mklabel”命令无法识别的格式打印到文本文件中,我找不到一种解析它们的好方法。

文件的格式类似于以下内容:

\original_folder_path@@\branch_name\version_number\new_sub_folder_path\branch_name\version_number\file_name.java

过去我使用过我在公司使用的通用命令来盲目地标记分支中的所有文件:

cleartool find -all -branch "brtype(<branch>)" -version "version(.../<branch>/LATEST) && !version(.../<branch>/0)" -visible -exec "cleartool mklabel -rep <label_name> %CLEARCASE_XPN%"

但是我只想在我正在使用的分支上标记大约一半的文件,而且要分别标记它们太多了。我相信我错过了一些明显的东西。有谁知道我应该如何更改我的find或mklabel命令以容纳新文件和文件夹?

1 个答案:

答案 0 :(得分:1)

该格式“\ original_folder_path @@ \ branch_name \ version_number”为 extended pathname ,不会为“添加的文件”保留。

对于cleartool find列出的文件而言,它是最新的,但在cleartool find使用的视图中不可见(可直接访问)。

您需要确保使用一个视图,该视图设置为从brname中选择LATEST。

如果您在cleartool find中看到扩展路径名,则可以忽略它们:所述视图无法访问它们。

或者您可以使用cleartool find -cview,以便将结果限制为您查看的内容可以选择和查看的内容。