如何使用ClearCase执行递归检出?

jm.*_*jm. 12 version-control clearcase

我想查看指定文件夹的所有子目录中的所有文件.

(使用GUI执行此操作很痛苦,因为没有递归检出选项).

Von*_*onC 24

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

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

话虽这么说,这个问题是完全合法的,我想指出另一种方式:

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

c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*
Run Code Online (Sandbox Code Playgroud)

这也是诀窍.但作为aku的答案,它确实检查了所有内容:文件和目录......你可能最不需要检查目录!

cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""
Run Code Online (Sandbox Code Playgroud)

只会结帐文件......

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

ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct
Run Code Online (Sandbox Code Playgroud)

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

请注意,ct ci -nc将使用用于结帐阶段的注释签到.
所以它不是没有评论的签到(如-nc选项 - 或"没有评论" - 可以相信).


aku*_*aku 8

cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""
Run Code Online (Sandbox Code Playgroud)

另外一篇文章" ClearCase:十大最佳脚本 "可能会有所帮助