Clearcase 如何查找分支上的所有元素,该分支的最新版本没有应用标签?

Clearcase 如何查找分支上的所有元素,该分支的最新版本没有应用标签?,clearcase,cleartool,Clearcase,Cleartool,正如标题所说: 我想查找分支上的所有元素(例如开发分支),其版本为最新,但尚未应用任何标签 我知道如何查找未应用特定标签的元素(如: , ) 但我不知道如何找到没有应用任何标签的元素 提前谢谢 Mikael最简单的方法是: 查找右分支中具有版本的所有元素 cleartool查找-键入f-ele“版本(…/myBranch/LATEST)”-打印 要求使用lsvtree,grep使用左括号(表示至少有一个标签) cleartool查找-键入f-ele“版本(…/DEV_BRANCH/L

正如标题所说: 我想查找分支上的所有元素(例如
开发分支
),其版本为
最新
,但尚未应用任何标签

我知道如何查找未应用特定标签的元素(如:

  • ,
  • )
但我不知道如何找到没有应用任何标签的元素

提前谢谢
Mikael最简单的方法是:

  • 查找右分支中具有版本的所有元素
cleartool查找-键入f-ele“版本(…/myBranch/LATEST)”-打印
  • 要求使用lsvtree,grep使用左括号(表示至少有一个标签)
cleartool查找-键入f-ele“版本(…/DEV_BRANCH/LATEST)”\ -exec“cleartool lsvtree\%CLEARCASE\u PN%\”;findstr“开发分支\\[0-9]*(“ 您需要在find(或Unix上的grep)中使用模式来检测:

  • DEV_分支机构
  • 一个“
    \
  • 版本号
  • 后跟“
    ”)的空格(表示有一个或多个标签)
这将为您提供带有任何标签的所有元素的列表。
假设您可以生成右分支中具有版本的任何元素的列表,那么您需要区分这两个列表,以便从第一个列表(右分支中的版本)而不是第二个列表(具有标签的元素)中提取所有元素

我不知道有哪种单行解决方案会在给定的分支中立即列出没有标签的元素…

谢谢VonC

使用您的模式匹配方法,我意识到我可以使用descripe而不是lsvtree来查找以下标签:

cleartool find . -type f -ele 'version(/main/DEV_BRANCH/LATEST)'
-exec 'cleartool describe -fmt "%n labels:%l\n" $CLEARCASE_PN' | grep labels:\w*$
这似乎对我来说很有用。我只是对所有元素进行grep,这些元素产生一行,在“label:”字符串之后没有任何内容


我想这正是我想要的。希望我没有丢失任何没有标签的文件…

+1在总体思路上,但我想知道这是否只会使最新版本的grep元素没有任何标签,而不是给定分支中任何版本的元素有标签…因此可能不可能像您建议的那样一次性完成,但是我n如我在回答中提到的,有两次通过。@VonC都没有。它(几乎)表示每个元素的活动配置规范所选择的版本,这些元素在DEV_分支上有一个版本,并且应用了标签。这是因为“$CLEARCASE_PN”返回的路径名没有“@@”最后,这意味着它将不引用元素,而是引用一个版本。此外,grep是错误的,因为它不使用-i,“Labels”将以大写字母L开头,而\w*是多余的,因为标签将出现在后面的行中。我对grep部分的评论是错误的,但关于find命令本身的部分是正确的。 cleartool find . -type f -ele "version(.../DEV_BRANCH/LATEST)" \ -exec "cleartool lsvtree \"%CLEARCASE_PN%\"" | findstr "DEV_BRANCH\\[0-9]* ("
cleartool find . -type f -ele 'version(/main/DEV_BRANCH/LATEST)'
-exec 'cleartool describe -fmt "%n labels:%l\n" $CLEARCASE_PN' | grep labels:\w*$