2008-08-28 39 views

回答

23

当心: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:Windows上的“类型” doskey ct=cleartool $*“来设置别名)

注意ct ci -nc将签入与用于评论结账阶段。
所以这是不是没有注释的检入(如-nc选择 - 或“无可奉告” - 可以使相信)。

8
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\"" 

也发表文章指出 “ClearCase: The ten best scripts” 可能会有所帮助

+0

如果您使用的是Linux,以$ CLEARCASE_PN – Peewhy 2010-08-25 14:08:21

+0

@Peewhy好点的替换%CLEARCASE_PN%。 `CLEARCASE_PN`(对于PathName)或`CLEARCASE_XPN`都是由明文脚本(例如`cleartool find`)设置的环境变量。 Windows语法(`%...%`)或Unix语法(`$ ...`)对它们有效。 – VonC 2010-08-26 16:51:38