我正在编写一个脚本,该脚本将更新给定ClearCase文件夹中的一堆文件。在开始之前,我想在脚本中检查在该过程中执行的任何签出是否可能失败(因为另一次签出(。脚本不知道正在使用的配置规范。
基于cleartool lsco -rec
的基本思想无法工作,因为有很多假阳性结果(主要是在未选择的分支上完成的签出,或未保留的签出(。
所以问题是:我如何列出由于另一个签出与我的签出冲突而无法签出的所有文件
提前感谢您的帮助!
"基于
cleartool lsco -rec
的基本思想无法工作">
但它应该可以工作
您可以比较cleartool lsco -brtype abranch -me
和cleartool lsco -brtype abranch
,以查看其他签出在目标分支上完成,而不是由您完成
您可以|grep -v
"无保留"来修剪任何未保留的结账
最终结果是文件列表,由您不签出,保留
然后,您可以将该列表与脚本必须修改的文件进行比较。
如果您使用的是经典的UCM环境,如果您不在共享流中工作,通常不会发生这种情况。所以,我假设你在基础clearcase中工作。
检查这一点的一种方法是查看您计划签出的文件的版本树。然而,要实现自动化,你还需要知道你在哪个分支机构工作
对于单个文件:
Windows:
cleartool lsvtree {my file} | findstr CHECKEDOUT
Unixcleartool lsvtree{my file}|grep CHECKEDOUT
分支上的任何CHECKEDOUT返回(如果你不进行并行开发,可能是/main(都会阻止你。
如果您有一个文件列表,这将取决于您希望如何处理该列表。