无法签出快照中的文件,因为 ClearTool 错误:无法在配置规范中通过 -mkbranch 选项创建分支请求



我无法在此特定PC中签出文件,因为它与abt

cleartool error: type manager "text_file_delta" create_branch operation.
cleartool error: unable to create a branch request by -mkbranch option in config spec.
cleartool error: unable to check out

config_spec:

# ONLY EDIT THIS CONFIG SPEC IN THE INDICATED "CUSTOM" AREAS 
#
# This config spec was automatically generated by the UCM stream
# "space_reload_CA" at 2013-09-06T16:13:58-04:00.
#
# Select checked out versions
element * CHECKEDOUT
element "[03d13482d8a611dc9c17000183b043eb=/space_tff]/.../..." -nocheckout
element "[03d13482d8a611dc9c17000183b043eb=/space_tff]/.../..." -nocheckout
element "[975cd291464411df86be0001843ab215=/space_tff/.../..." .../space_reload_CA/LATEST
element "[975cd291464411df86be0001843ab215=/space_tff/.../..." 
-mkbranch space_reload_CA
element "[975cd291464411df86be0001843ab215=/space_tff/.../..." /main/0 -mkbranch space_reload_CA
end ucm
#UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE
#UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES
# Non-included component backstop rule: no checkouts
element * /main/0 -ucm -nocheckout
#UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES 

# Component selection rules...

这看起来像IBM文章"Element已经有一个类型的分支"

实际错误是:

%>cleartool co -nc a.txt
Created branch "branch" from "a.txt" version "main1".
cleartool: Error: Element already has a branch of type "branch" ("mainbranch").
cleartool: Error: Unable to create branch requested by -mkbranch option in config spec.
cleartool: Error: Unable to check out "a.txt".

原因可能是:

  • 时间问题(下面的原因 1、2 和 4):OP user2370590 提到了一种可能的补救措施:

重新启动将解决此类问题

  • 语法错误问题(下面的原因 3)

语法错误通常是原因,除了在您的原因中,这是一个 UCM 视图,这意味着它的配置规范是由 ClearCase 自动生成的。

可以肯定的是,键入:

cd /path/to/your/view
cleartool chstream -generate
cleartool setcs -stream

这将强制根据流的配置重新生成视图的配置规范。

然后重试结帐。


原因 3:

错误是由于许多配置规范语法问题而发生的:

  • 范围、模式或版本选择器的拼写不正确。
    例如CHECKEDOUTLATEST或标签名称或分支名称
  • 作用域、模式或版本选择器的顺序不正确。
    例如,忘记包含引用-mkbranch规则的LATEST规则。
  • 元数据"类型"未创建,但在配置规范中引用。
    例如,引用不存在的分支类型的-mkbranch规则
  • 在Unix/Linux系统中使用Windows样式斜杠(""而不是"/")列出目录

(注意:在配置规范中,始终使用" / ":它更容易,并且可以在Windows和Unix上工作。

解决方案 3:修复语法

确保配置规范中的语法正确。


原因 1:时间同步问题

此错误是由视图服务器和 VOB 服务器时间不同步引起的。

如果 VOB 服务器上的时间(时钟)大于视图服务器,则会发生此错误,因为创建的版本带有时间戳,该时间戳被视图服务器视为将来,因此不会加载(仅限快照视图)。

解决方案 1:修复时间

更正视图和 VOB 服务器上的时间,使它们同步。

查看有关如何修改系统时间的操作系统说明。


原因 2 VMware 问题

在 VMware® 托管计算机上使用 ClearCase 时,可能会发生此错误。

错误的原因与 VMware 服务器上的时间设置有关。如果 VMware 服务器上的时间落后于 VOB 服务器上的时间,则会发生 mkbranch 错误。

解决方案 2:修复 VMware 时间

确保 VMware 服务器上的时间与 VOB 服务器同步。

以下命令是可以在 VMware 服务器上使用的一种方法,用于将时间与 VOB 服务器上的时间同步。

net time \vob_server_name /set 

原因 4:副本迁移

在一个案例中,导出的VOB从一个主机转移到另一个主机。VOB 没有遵循《管理指南》中概述的移动过程,而是复制到新主机。
这使得VOB在两个地方活跃。一位开发人员在原始位置创建了分支类型。在新位置开始使用复制的 VOB 后,开发人员检测到副本不包含最新的mkbranch操作。开发人员决定再次运行 mkbranch 操作。

导入站点获取了包含第一个mkbranch事件的同步更新数据包并将其导入。

然后,具有第二个mkbranch事件的数据包到达,但由于分支已经存在而无法导入;因此出现错误。

解决方案 4:修复副本

这是分歧,因为副本(发送站点和接收站点)在mkbranch事件的日期和时间上不一致。

需要删除并重新创建其中一个副本。删除哪一个取决于副本系列的大小、正在使用的同步模式以及丢失该副本中数据的意愿。

最新更新