在ClearCase文件夹中查找已更改的文件

6
我在ClearCase中有一个包含大量报告的文件夹。
由于我需要进行全面更改,因此我已经检查了所有报告。
我已经更改了一组报告,并希望部署此集合。
我可能应该逐个检出报告文件,然后在完成后部署每个文件。
但是,既然我没有这样做,是否有一种方法可以检查包含已检出报告列表的ClearCase文件夹,以查看哪些报告已更改,哪些未更改?
4个回答

6
您可以向 cleartool 请求与上一个版本的差异比较:
 cleartool lsco -r -cvi -fmt "diff -options \"-hea\" -pred \"%n\"\n" | cleartool | grep ">>>"

这将为您提供当前已检出的修改过的文件列表。

注意:如果您只想要当前目录(而不是其子目录)的签出文件,请删除'-r'选项。


@VonC……有趣……谢谢。然而,我无法确定在上述命令中应该插入我的视图路径。我收到了错误消息“无法确定“。”的视图:不是ClearCase对象”。 - MikeTWebb
@Mike:你需要在存放报告的目录中(也就是你的视图中)。你可以右键点击ClearCase文件夹,并要求“元素属性”,以便在DOS会话中复制该文件夹的完整路径。 - VonC
@VonC...太棒了。我会尝试并回复...好的,我尝试了一下,看起来它返回了一个包含所有已检出报告的列表...而不仅仅是那些已更改的报告。有什么想法吗?啊...我刚刚发现我的错误。我删除了命令行中的grep部分。我现在正在执行cleartool lsco -r -cvi -fmt "diff -options "-hea" -pred "%n"\n" | cleartool,它运行得很好! - MikeTWebb

3
在ClearCase(或启用了集成的Explorer)中,右键单击树的基础,并选择“查找修改的文件”。这将返回已修改且属于存储库的所有文件列表(即它不会返回私有文件列表)。
如果您想知道所有文件 - 已签出,修改和私有文件列表 - 我所知道的唯一方法是在视图内使用cleartool。
cleartool ls -r

如果你想获得更多(或更少)文件信息,请查看-fmt选项的文档(它不能与ls一起使用,但可以与describe一起使用),并创建一个命令来获取你所需的信息(需要进行一些试验,直到熟练为止)。
注意: “查找修改文件”仅在视图树的基础上从gui中可用; 在其他地方,您的唯一选择是“查找签出文件”(最少说很混乱)。

1

您可以设置一个与已检出文件视图具有相同配置规范的第二个视图。一旦设置了第二个视图,您可以使用差异工具(如WinDiff)比较每个视图中的相同目录。这将列出所有已更改的文件。

虽然这不是ClearCase的本地功能,但它应该能够给您想要的结果。


@Brainimus...谢谢!我需要在检出初始目录的文件之前设置第二个视图吗? - MikeTWebb
1
@Mike:如果你这样做,请不要忘记使用2个动态视图,对于这种用途(文件咨询)来说,设置起来更容易快捷。 - VonC

0

我也找到了一个解决方案。我选择了我的ClearCase文件夹,然后点击“查找签出”。这显示了我巨大的报告文件列表,这些文件已被签出。然后我选中它们全部并选择“签入”。我没有选中“仅当与上一版本相同时才签入”选项。然后我选择“确定”进行签入。所有已修改的文件都已签入,未修改的文件仍保持签出状态。这给我带来了已修改文件与未修改文件之间的差异。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接