2010-08-08 79 views
3

我在ClearCase中有两个动态视图,据我所知,它应该是“相等的”。
一个应该看看“Main分支”,另一个分支(我们称之为A)。在ClearCase中比较视图

我做了AMain的合并(在Main视图中),并且由于某种原因,A视图的代码编译而Main没有。
有没有办法比较意见的差异?

回答

1

最简单的方法是在这两个视图上使用外部差异工具(如Windows上的WinMerge或BeyondCompare,Unix或Windows上的KDiff3 ...)。

我实际上会创建两个新视图(具有与两个初始视图相同的配置规范),以移除任何“缓存”效果,并在那里开始比较。
一旦完成了最初的外壳程序,我将在这两个视图中开始编译,看看它们中的一个是否仍然不能编译。

不要忘记合并AMain并不总是在合并后产生相同的一组文件。
只有在A开始时(或自从A到的最后一次合并以来)在Main中没有发生进化,情况才会一样。


setcs -current你提到会:

–cur/rent 

导致view_server刷新其缓存和重新评估当前的配置规格,这是存储在文件config_spec视图存储目录。这包括:

  • 与nonabsolute规范评估时间规则(例如,现在,星期二)
  • 重估-config规则,可能比选择不同的派生的对象以前
  • 名为重读文件包括规则

如果你依赖于你的配置规格内的这是在错误的版本的“包含文件”,第一setcs将在正确的版本设置,而第二个会阅读其内容并为其余的设置正确的版本。

+0

我该如何使用KDiff3,因为这些文件只在不同视图下处于相同位置? – 2010-08-08 20:31:50

+0

@Amir:如果文件在不同的(动态)视图下,这意味着两个不同的路径(在Windows上是'M:\ MyView_onMain'与'M:\ MyView_onA',或'/ view/MyView_onMain'与'/ view/Unix上的MyView_onA')。所有这些diff工具都知道如何比较目录。 – VonC 2010-08-08 20:36:51

+0

差异没有帮助 - 除了'.contrib'文件等,我找不到任何区别。视图是否消耗大量磁盘空间?习惯于以这种“触发快乐”的方式创造新的观点? – 2010-08-08 21:42:11