项目经理可以强制取消在任何视图/流/项目中生成的文件/目录的签出吗?如何?
4 回答
ClearCase 管理员可以强制将给定视图的所有文件视为“未签出”(这相当于取消其签出状态),其中cleartool rmview
:
cleartool rmview -force -uuid (uuid_of_the_view) -vob \aVob
您可以通过在以下输出中对用户进行 grepping 来获取 uuid:
cleartool descr -l vob:\aVob
请参阅技术说明“从 VOB 中删除视图的签出引用”。
它适用于任何视图(快照或动态视图、基本 ClearCase 或 UCM 视图)
我建议将该命令限制为特定的vob。
无论如何,这与项目经理无关,除非他/她也是 ClearCase 管理员(即,他/她与 Windows 上的 ClearCase 管理员组在同一个组中,或者他/她在 Unix 上是 root)
关于cleartool unco(您只能在动态视图上尝试),请记住 if 仅适用于:
- 版本创建者
- 元素所有者
- VOB所有者
- 根(UNIX 和 Linux)
- ClearCase 管理员组的成员(Windows 上的 ClearCase)
- ClearCase LT 服务器主机的本地管理员(Windows 上的 ClearCase LT)
因此,除非您的项目经理创建了管理这些签出文件的 Vob,否则他/她将无法撤消签出它们。
正如下面评论的那样,关联vob的所有\avob
签出文件不再被视为已签出(它们的状态被重置,而不是它们的修改内容,这是未触及的)。
为了恢复那些签出的文件,用户可以:
- 对于快照视图,列出被劫持的文件(如本技术说明)
- 对于动态视图列表 eclipsed 文件(请参阅关于 eclipsed 文件的技术说明)
找到的每个文件名都可以通过管道传送到clearcase checkout
命令。
因此,对于给定的视图和 vob,恢复签出的文件相当容易。
如果它在快照视图中签出,则不能。如果它在动态视图中检出,您也许可以。您可以使用查找签出来查找签出的文件并尝试从那里撤消签出。
理想情况下,如果它是具有更高权限的人可以访问的视图,例如拥有 VOB 所有者帐户的 Clearcase 管理员,最好让他执行签入(如果您确定文件可以签入)或保存签出文件后跟“cleartool unco”。
如果不是这种情况,则命令
cleartool rmview -force -uuid (uuid_of_the_view) -vob <vob-tag-where-checkout-is>
应该按照 VonC 之前提到的那样做。
但是,请注意,此命令会取消 . 因此,如果您说: \avob\file1.c \avob\file2.c 假设两个文件都由同一用户的同一视图签出,并且您只想取消签出 file1.c。上述“cleartool rmview”命令取消了VOB 中的所有签出。所以 file2.c 也将被取消签出。好消息是签出版本不会丢失,因为它们将留在本地用户的视图中。一旦他回来,他将能够访问它们。
还有另一种策略如何以管理员身份处理其他人的结帐。访问用户快照视图。如果可以访问计算机,则挂载快照位置并将其用作您的位置。在这种情况下,您甚至可以在看到更改的文件时签入这些签出。如果计算机无法访问,您可以使用视图 UUID 构造一个新的 view.dat,并使用关键文件和目录的 cleartool update 命令填充您的视图。您将看到并能够签入目录版本的更改,文件元素更改无法访问,因此您必须始终取消文件版本。