我今天试图创建一个基线并且ClearCase Explorer崩溃了(似乎是在它完成之后,但显然它不是。)
我试图重新创建基线,它给我一个错误,说有一些是“in_progress”所以它无法继续。
我删除了基线,我正在尝试删除“in_progress”标签类型。 当我删除lbtype时,它表示目录已被锁定。
我做了一个lslock -all并删除了项目和基线上的锁定,现在当我执行lslock -all时没有列出任何内容。
我试图删除“in_progress”lbtype,它仍然说某些东西被锁定了。有没有其他方法可以找出阻止它工作的原因?
我知道这可能令人困惑,所以如果需要澄清,我愿意更新我的问题。
“ct lslock -all”
- 09-09T09:47 USER锁定项目“XXXXXXX”(已锁定)
“已锁定所有用户。项目因未发布的更改而被锁定。”- 09-20T09:56 USER锁定基线“XXXXXXXXX”(已锁定)
“锁定所有用户。”
(删除锁)
“ct lslock -all”没有显示任何内容
“rmtype -rmall lbtype:BASELINE_in_progress @ \ VOB
有1228种类型为“BASELINE_in_progress”的标签。
删除标签? [不]是的
cleartool:错误:目录元素上的锁定(过时)阻止 操作“删除标签”。
cleartool:错误:无法删除标签类型“BASELINE_in_progress”。
答案 0 :(得分:2)
实际的错误消息是
possible stranded temporary lbtype name found: "`abaselinexxx.yyyy_in_progress`".
这个想法是:
$ ct rmtype -rmall lbtype:abaselinexxx.yyyy_in_progress@\\avob There are 1690 labels of type "abaselinexxx.yyyy_in_progress". Remove labels? [no] yes
ct chbl -full -nc baseline:abaselinexxx.yyyy@\apvob
可能阻止这些操作完成的锁是:
评论中的几点评论:
cleartool lslock -all
不会显示过时的文件(“过时”是一种锁定形式):cleartool lslock -all -obsolete
会。
要解锁一组锁定的文件,您可以选择for
和cleartool find -exec
命令。
窗
for /f "delims==" %x in ('cleartool lslock -all -obsolete -fmt "%Xn\n"') do cleartool unlock "%x"
cleartool lslock -all -obsolete -fmt "%Xn\n" | xargs -i{}
cleartool unlock %x
请注意,cleartool find
会在特定路径下解锁所有
如果您知道该路径(以及所有 - 或者最重要的 - 其内容)被锁定,那么它可以工作:
ct find /path/to/a/locked/directory -exec '/usr/atria/bin/cleartool unlock "$CLEARCASE_PN"'