Clearcase UCM:rebase失败 - 错误(显然)是谎言 - 根本原因是什么?

时间:2013-11-21 02:58:54

标签: clearcase-ucm

我有一个相当标准的设置,其中包含一个开发流(devStream),它可以从集成流(intStream)传递和重新定义。

我的开发视图(devView)中有一个文件,我可以正常结帐,修改和检查。

然而,当我尝试交付(以及后来的rebase)但是我得到一个令我感到困惑的错误...(特别是因为我过去6个月一直在交付和重新定位)可能值得注意的是我们最近升级了从Rhapsody 8.0.2到8.0.4(相应地升级了clearcase的映射文件指向rhapsody文件的diffmerge工具),但是当错误出现时,我无法看到这可能是错误的。

由于图形模式很难获得足够的调试信息,因此我捕获了一些命令行运行的结果。

这是

的(匿名)结果

开始一个rebase

cleartool> rebase -recommended
*SNIP*
Creating integration activity...
Setting integration activity...
Merging files...
Checked out "C:\CCVs\myDevView\shortenedPath\theFile.sbs" from version "\main\intStream\devStream\9".
  Attached activity:
    activity:NSSLB00001350@\projects  "rebase devStream on 20131120.195128."
Needs Merge "C:\CCVs\myDevView\shortenedPath\theFile.sbs" [to \main\intStream\devStream\CHECKEDOUT from \main\intStream\9 base \main\intStream\8]
cleartool: Error: Unable to access "C:\CCVs\myDevView\shortenedPath\theFile.sbs": No such file or directory.
cleartool: Error: An error occurred while merging file elements in the target view.
cleartool: Error: Unable to perform merge.
cleartool: Error: Unable to perform integration.
cleartool: Error: Unable to rebase stream "devStream".

尝试恢复rebase

cleartool> rebase -resume
Rebase in progress on stream "devStream".
Started by "XXXXX" at 11/20/2013 7:51:28 PM.
Merging files...
cleartool: Error: Unable to access "C:\CCVs\myDevView\shortenedPath\theFile.sbs": No such file or directory.
cleartool: Error: Some files are already checked out to a non-integration activity in the target view.
cleartool: Error: Unable to perform merge.
cleartool: Error: Unable to perform integration.
cleartool: Error: Some files are already checked out to a non-integration activity in the target view.
cleartool: Error: Unable to resume rebase.

列出与如此创建的集成rebase活动相关的信息

cleartool> lsactivity -long NSSLB00001350
activity "NSSLB00001350"
 2013-11-20T19:52:00-06:00 by XXXXXX
  "Integration activity created by rebase on 11/20/2013 7:51:28 PM.
   "
  owner: XXXXX
  group: XXXXX
  stream: devStream@\projects
  current view: myDevView
  title: rebase devStream on 20131120.195128.
  change set versions:
    C:\CCVs\myDevView\shortenedPath\theFile.sbs@@\main\intStream\devStream\CHECKEDOUT.94426
  clearquest record id: NSSLB00001350
  clearquest record State: Active
cleartool>

列出任何人,任何流,目录结构的这一部分中的任何地方的结账

cleartool> lsco -r
--11-20T19:51  XXXXX    checkout version ".\shortenedPath\theFile.sbs" from \main\intStream\devStream\9 (reserved)
  Attached activity:
    activity:NSSLB00001350@\projects  "rebase devStream on 20131120.195128."

此时我对如何继续感到困惑。谷歌搜索没有提出任何看似相关的东西(或者我的谷歌技能可能很弱)。

同样值得指出的是,我的清晰技能完全是根据需要自学的......所以我确信我的知识漏洞了。即使看起来事情看起来很明显,也请指出它;我可能没有意识到。


请求的信息

没有尝试使用rebase

C:\CCVs\myDevView\shortenedPath>cleartool ls    
theFile.sbs@@\main\intStream\devStream\9              Rule: ...\devStream\LATEST
theFile.sbs.merge
theFile.sbs.merge.1
theFile.sbs.merge.2
theFile.sbs.merge.3
theFile.sbs.merge.4
*snip (other files)*

在失败的rebase中间

theFile.sbs@@\main\intStream\devStream\CHECKEDOUT from \main\intStream\devStream\9 [not loaded, checkedout but removed]
*snip*
theFile.sbs.merge.5

所以... rebase正在对文件做一些奇怪的事情;但是,为什么在做退货/交货时,而不是在正常结账时,它会消失?

1 个答案:

答案 0 :(得分:2)

要调试它,您必须转到shell中的命令行,然后转到丢失文件的父文件夹:

cd /path/to/target/view/path/to/parent/folder

# in your case

cd C:\CCVs\myDevView\shortenedPath\
cleartool ls
cleartool lsvtree -graph .

cleartool ls返回的文件状态可以为您提供有关正在发生的事情的线索。
例如“checkout but removed”意味着mergetool试图访问/打开该文件,但不知何故它已被删除:当所述文件被进程占用时,会发生这种情况,并且无法完全检出。

lsvtree还可以为您提供有关父文件夹的线索(以查看它是否已合并)。

另一种方法是取消该rebase,并在动态视图而不是快照视图中再次尝试,以避免任何副作用,而快照视图未正确更新。


OP Khanmots结束in the comments

  

我解除了rebase(获取文件的副本)并重新开始。
  当它被轰炸时我将文件复制回来然后点击以重新启动rebase。再次删除它。
  然后我更换了文件,同时保留启动diffmerge工具的提示,这允许diffmerge实际启动...但是当我告诉diffmerge保存(解决差异后)它删除文件并创建另一个.merge.#文件。
  此时看起来这是一个难以解决的问题,而不是一个明确的问题

相关问题