为什么clearcase静态视图不更新签出文件?

为什么clearcase静态视图不更新签出文件?,clearcase,Clearcase,我有一个静态视图,其中有一些我正在处理的文件已签出。其他人签入了我要添加到视图中的一系列更改。因此,我对我的视图运行更新。结果他们更改了我签出的文件。现在,我的视图只剩下部分更新,甚至可能无法编译,直到我确定必须手动合并哪个签出文件 我知道我可以保留我的签出,但这会阻止其他开发人员签入他们已经完成的东西 根据: 更新不适用于签出到当前视图的文件或目录 因此,它似乎在按照atria/rational/IBM的人希望它工作的方式工作。我不明白为什么会这样 有没有办法更新我的静态视图并自动将更改合并到

我有一个静态视图,其中有一些我正在处理的文件已签出。其他人签入了我要添加到视图中的一系列更改。因此,我对我的视图运行更新。结果他们更改了我签出的文件。现在,我的视图只剩下部分更新,甚至可能无法编译,直到我确定必须手动合并哪个签出文件

我知道我可以保留我的签出,但这会阻止其他开发人员签入他们已经完成的东西

根据:

更新不适用于签出到当前视图的文件或目录

因此,它似乎在按照atria/rational/IBM的人希望它工作的方式工作。我不明白为什么会这样

有没有办法更新我的静态视图并自动将更改合并到我的签出文件中

有没有办法更新我的静态视图并自动将更改合并到我的签出文件中

不太可能,因为签出的文件是本地修改的文件,
cleartool update
非常努力地不接触任何本地文件

您签出的文件由
元素*CHECKEDOUT
选择规则选择,这意味着任何更新都不会更新它(它已经选择了正确的版本)

您需要签入这些文件(触发合并,类似于“”),然后再次签出它们

但这并不总是可能的,因为它会使正在进行的工作对同一分支中的其他视图可见(签入)


唯一的其他解决方案是计算签入版本和签出文件之间的补丁,并应用该补丁
cleartool lsco-all-s-cview | xargs cleartool diff-diff
,很难区分签出版本和最新版本。

我明白你的意思,但我不明白这个命令是怎么起作用的。我让lsco查找签出的文件,但没有使用diff命令进行合并。我认为xargs命令将把一个文件放在diff命令的末尾?Diff需要2个文件名才能区分,对吗?我在windows中工作,所以没有XARG,但我可以“在('cleartool lsco-all-s-cview')中为/f%I执行@cleartool diff-diff%I”。diff命令会发出“cleartool:Error:必须提供至少两个对象来进行比较”。是否有一个命令可以执行签入时执行的相同操作?@danielknuen“我没有使用diff命令来执行合并”:它不是用于执行合并,而是用于计算您必须应用的修补程序。困难在于找到正确的版本(CHECKEDOUT与最新版本)以区分它们。关于xargs,您可以在Windows上使用Gnu的所有Unix命令(不需要Cygwin):