我以某种方式在clearcase UCM中创建了一个文件的分支,该分支不是活动的一部分。我不知道如何重现这个,但我的流显示了许多具有此症状的文件。如何找到这些文件,将其删除,并防止将来再次发生这些文件?
以下是一个此类文件的示例,为了保护无辜者而编辑的名称:
xxxxxxxxxxx.cpp@@/main/xxx-integration/xxxxxx-xxxxxxxx/0 Rule: .../xxx-xxxxxxx/LATEST
ct lsact -long | grep <filename>
不会返回任何结果。
更新: 我使用find命令来跟踪上面给出(和编辑)的分支上的所有文件,但我仍然不明白这个问题。
根据VonC的回答,我最终在做什么:
cleartool find . -type f -version "version(.../xxx/LATEST)&&version(.../xxx/0)" -print | tee ~/tmp/files2
然后我阅读了生成的文件列表以确保它们有意义,然后我验证它们没有附加到某个活动并删除了这些版本:
cat ~/tmp/files2 | while read
do
if [ -z "$(ct describe -fmt "%[activity]p" $REPLY)" ]
then
ct rmbranch -f ${REPLY%/0}
fi
done
答案 0 :(得分:0)
这可能发生ig那些文件在基础ClearCase视图中结账,即非UCM视图,带有简单的配置规范:
element * .../xxx-integration/LATEST -mkbranch xxxxxx-xxxxxxxx
您可以使用类似于“How can I find all elements on a branch with version LATEST that has no label applied?”的查找命令
不同之处在于:对于找到的每个版本,您需要对其进行描述以检查是否附加了活动(使用fmt_ccase
):
cleartool describe -fmt "%[activity]p" "$CLEARCASE_XPN"