Clearcase:查找所有编号为0的元素版本(无论哪个分支)

在bash命令行上使用cleartool,我想为给定元素 all 找到编号为0的版本,无论哪个分支持有它们。

问题是,据我所知,“ cleartool find”命令在其版本选择器中至少需要特定的分支名称:

=>这有效:cleartool find MyElem -version "version(.../MyBranch/0)" -print

=>情况并非如此:cleartool find MyElem -version "version(.../0) -print

到目前为止,我唯一的解决方案是解析版本树。它可以工作,但是在一长串元素上运行时速度很慢: cleartool lsvtree -all -s MyElem | grep -e '/0$'

有人知道更聪明的解决方案吗?

非常感谢。

nghnyh 回答:Clearcase:查找所有编号为0的元素版本(无论哪个分支)

def countP(n): if (n == 0 or n == 1): return 1 count = 0 for m in [1,2,3]: if m <= n: count += countP(n - m) return count 版本是为添加到源代码管理中的任何新元素创建的placeholder version

但是a version selector,即使使用省略号通配符'0'也必须包含一个分支。

由于所有分支均源自...,请检查是否可行:

main/

如果没有,我将在“ cleartool find”中提到您的第一个Clearcase finding a specific file on any branch解决方案的变体:

cleartool find MyElem -version "version(/main/.../0)" -print

如果文件“ cleartool find -all -name "MyElem" -ver "! lbtype(<non-existing label>)" -print ”跨分支,应打印所有版本。
您可以使用grep表示“ MyElem”版本。
但这最终可能会像/0一样慢。

,

即使您正在寻找/ 0版本是分支上最新版本的分支,请尝试:

cleartool find -ver "version(.../MyBranch/0) && version(.../MyBranch/LATEST)" -print

我认为您可以使用以下方法为许多分支机构找到这些版本:

cleartool lstype -kind brtype -short | while read i; do
    cleartool find -ver "version(.../$i/0) && version(.../$i/LATEST)" -print
done

这些版本的内容由您决定。请注意,由于级联-mkbranch规则集可能会将/ main / foo / 0创建为/ main / foo / bar / 0的父级,因此您可能不希望仅删除这些willy-nilly。如果要删除前一个分支,则也可能会删除或要求删除后者,而这可能不是您想要的。 (rmbranch手册页将告诉您有关rmbranch是否将删除子分支的知识。...

本文链接:https://www.f2er.com/3021140.html

大家都在问