12

我想检查指定文件夹的所有子目录中的所有文件。

(而且使用 GUI 执行此操作很痛苦,因为没有递归结帐选项)。

4

2 回答 2

24

注意:ClearCase 是以文件为中心的,而不是以存储库为中心的(如 SVN 或 CVS)。

这意味着检查所有文件很少是一个好的解决方案(使用 ClearCase 可能会相当长;))

话虽如此,这个问题是完全合理的,我想指出另一种方式:

在“指定文件夹”中打开一个cleartool会话:

c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*

也可以。但作为 aku 的回答,它确实会检查所有内容:文件和目录......而且您可能最不需要检查目录!

cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""

只会签出文件...

现在的问题是检查所有已更改的内容。这是有问题的,因为通常并非所有内容都已更改,并且 CleaCase 在尝试签入相同文件时会触发错误消息。这意味着您将需要 2 个命令:

ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct

(使用 ' ctbeing ' cleartool' :在 Windows 上键入 ' doskey ct=cleartool $*' 以设置该别名)

请注意,ct ci -nc将使用用于结帐阶段的评论签入。
所以这不是没有评论的签到(就像-nc选项——或“无评论”——可以让人相信)。

于 2008-09-23T07:32:12.160 回答
8
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""

还有一篇文章“ ClearCase:十个最佳脚本”可能会有所帮助

于 2008-08-28T23:07:32.933 回答