2012-01-09 64 views
2

我目前在ClearCase中从子流传送到父项。如果我试图撤消交付,它告诉我我不能,因为“集成活动有签入”或“签入版本”。在ClearCase中手动撤消传送

如果我尝试恢复传递,它说它尝试检出或合并元素时遇到错误,但没有明确告诉我哪一个。

所以我在寻找一种方式,要么:

  1. 手动停止交货(取消全部检出父流中?)

  2. 找出什么因素导致交付问题(是否与导致撤消问题的那个相同)

  3. 或找出导致撤销问题的原因并找到一种方法来撤消签入(我不知道如何执行此操作,我尝试删除版本树中的版本,但我d没有权限)。

回答

2

对于3 /“找出什么因素导致撤消问题”,这是很容易的(但推荐):您需要删除所有登记的过程中的完整阶段完成版本交付。
这是迄今为止最危险的解决方案,尤其是在目标流(您要传输文件的流,即带有流的Stream)上完成任何类型的活动(其他签入,基线等)查看您使用的是交付给)

你可以看到那些通过描述

cleartool descr -l activity:[email protected]\myPVob 

1/2 /链接的传递活动(这总是deliverbl.xxx开始)签入的文件。
容易检测问题的一个好的解决方案是以图形方式恢复交付:打开ClearCase项目浏览器(clearprojexp),右键单击源流并选择交付(基准或活动,默认或替代目标:问题)。
ClearCase将检测到交付正在进行并将提出恢复。

您只需检查所有带有红色圆圈和白色十字的文件(而不是带黄色警告标志的文件,这些文件不会阻止传送)。

一旦你有这些文件之一,右键单击它,并选择“显示元素合并”:你将有一个更精确的错误信息,你可以复制粘贴。

如果这些文件是在lost+found目录,所有你需要做的是编辑用于提供视图的配置规范,并添加非选择规则,以避免lost+found任何选择:

cd /path/to/your/view 
cleartool edcs 
#add at the start of the config spec 
element /myVob/lost+found/... -none 

然后再次恢复您的交付,并且您将看到那些'lost+found'文件将被忽略(附加警告非阻止状态)。

如果这些文件不丢失+发现是失败的,因为交付的“Not a vob object <directory name>”时,首先检查做是说在shell会话文件转到父目录,然后键入cleartool ls:你会看到他们的状态
在这种情况下,OP Ian报告他们为劫持,所以它只是关于撤销他们的劫持状态。

他报告也不得不删除(rmname)一些二进制文件,虽然我对“Clearcase UCM is trying to merge pdf files”问题的回答指向一个替代解决方案(复制合并)。


我的建议:在特定的状态(与签入已经在那里提供),努力完成交付,而不是取消它。

+0

当我恢复交付时,我得到三个错误的元素;当我为该元素选择“显示元素日志”时,它会显示“不是vob对象<目录名称>”。因此,如果我将这些元素/目录(在我的HD上)的路径添加到“组件选择规则...”区域中的configspec,我应该没问题? – Ian 2012-01-09 20:52:57

+0

但是,它并没有出现在失物招领处。它们只是通常位于视图中的目录的正常路径。 – Ian 2012-01-09 20:54:39

+0

@Ian:你不能只在配置规范中添加它们。我通常在发送包含尚未添加到目标流中的组件的源流(即,目标流不包含该新组件的基础基准)时通常会看到该错误。如果是这种情况,请首先重新分配目标流。如果不是这种情况,您需要进入该文件的父目录,并复制粘贴'cleartool ls'的结果以便我进行调试。 – VonC 2012-01-09 21:16:59