正如标题所说:
我想查找分支上的所有元素(例如DEV_BRANCH
)和LATEST
版本,但尚未应用任何标签。
我知道如何找到没有应用特定标签的元素(如:
但我不知道如何找到未应用任何标签的元素。
提前致谢 的Mikael
答案 0 :(得分:2)
最简单的方法是:
cleartool find . -type f -ele "version(.../myBranch/LATEST)" -print
cleartool find . -type f -ele "version(.../DEV_BRANCH/LATEST)" \ -exec "cleartool lsvtree \"%CLEARCASE_PN%\"" | findstr "DEV_BRANCH\\[0-9]* ("
你需要在你的find(或Unix上的grep)中使用一个模式来检测:
DEV_BRANCH
\
'(
'(表示有一个或多个标签)这将为您提供包含任何标签的所有元素的列表 鉴于您可以生成右侧分支中具有版本的任何元素的列表,您需要对两个列表进行区分,以便从第一个列表中提取所有元素(右侧分支中的版本),而不是在第二个列表中提取所有元素(元素)带有标签)。
我不知道一个单行解决方案会立即列出给定分支中没有标签的元素......
答案 1 :(得分:1)
感谢VonC,
使用你的模式匹配方法我意识到我可以使用 describe 而不是 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:”字符串后面没有任何内容。
我认为这就是我想要的。希望我没有错过没有标签的任何文件...