如何使用 ClearCase 执行递归结帐?
-
09-06-2019 - |
题
我想查看指定文件夹的所有子目录中的所有文件。
(使用 GUI 来执行此操作很痛苦,因为没有递归结帐选项)。
解决方案
谨防: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
(和 'ct
存在 'cleartool
':类型 'doskey ct=cleartool $*
' 在 Windows 上设置该别名)
注意 ct ci -nc
将使用结账阶段使用的评论进行签入。
原来如此 不是 没有评论的签入(例如 -nc
选项——或“不发表评论”——可以让人相信)。
其他提示
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""
还有一篇文章《清除案例:十个最佳剧本“ 可能有帮助
不隶属于 StackOverflow