2

我正在尝试从特定分支中递归删除一些版本/文件。

find提供正确的文件。现在需要rmver删除版本,但这给了我一个错误。我在语法上苦苦挣扎。

cleartool> find Component\Test -element "brtype(P_Testing_device)" -exec "rmver -f \"%CLEARCASE_PN%@@\main\G_Testing_device\P_Testing_device\LATEST\""
cleartool: Error: Extra arguments: "%CLEARCASE_PN%@@\main\G_Testing_device\P_Testing_device\LATEST\"

那有什么问题?您将如何从分支中递归删除版本?

4

1 回答 1

2

如果可以避免的话,首先不要这样做。rmver,正如我在“如何在 ClearCase 远程客户端中撤消签入”中解释的那样,是非常危险的。
如果您将超链接附加到要删除的版本(明确地来自 ClearCase),例如合并链接(使用 UCM 传递或变基链接),您可能会遇到许多“悬空超链接”,这是不好的。

其次,我会先尝试:

find Component\Test -element "brtype(P_Testing_device)" -exec 'rmver -f "%CLEARCASE_PN%@@\main\G_Testing_device\P_Testing_device\LATEST"'

排除弱引用与强引用的任何问题(如“CLEARCASE_XPN在 clearcase 命令中未解析为变量”)

如果这不起作用,我建议找到所有正确的版本并将它们放入一个文件中,然后将该文件的内容通过管道传输到cleartool rmver.


一条更安全的路线是到cleartool lock -obs分支,使其不可修改且对于未来的版本树不可见。

于 2012-08-03T11:59:24.160 回答