【问题标题】:This operation requires a view tag此操作需要视图标签
【发布时间】:2020-07-09 02:35:20
【问题描述】:

上下文

在与 Jenkins 持续集成的背景下,我将工作地点从 D:\workspace 更改为 D:\。问题是我错过了将 ClearCase 视图从D:\workspace\JOB_NAME\view 移动到D:\JOB_NAME\view

由于我的工作的视图标签由Jenkins_${NODE_NAME}_${JOB_NAME}${DASH_WORKSPACE_NUMBER} 表示, Jenkins 的反应是为我的每个视图创建一个副本:

  • D:\ClearCaseStorage\Views\COMPANY\user\Jenkins_Node1_JobName.vws
  • 无标签
  • D:\ClearCaseStorage\Views\COMPANY\user\Jenkins_Node1_JobName.1.vws
  • (Jenkins_Node1_JobName)。

一切仍然有效,但我现在有许多污染服务器的未标记视图。事实上,每个视图都从其前一个视图中“窃取”了视图标签。 我想移除这些幽灵视图。

问题

我无法从管理控制台中删除未标记的视图。它说:

此操作需要一个视图标签。

我希望我可以显示视图信息以获取其uuid,然后将其删除,但未标记的视图不会出现在视图列表中:cleartool lsview -long

问题

  • 有没有一种方法可以让我自己删除这些视图而无需通知 ClearCase 服务器管理员?如果没有,管理员如何删除这些视图?
  • 为了避免这种行为再次发生,我是否应该从工作的视图标签中删除 ${DASH_WORKSPACE_NUMBER}

${DASH_WORKSPACE_NUMBER} 被替换为工作区的编号 if 它不是节点上的主要工作区。这允许执行 同一节点上同一作业的多个并发构建。

【问题讨论】:

  • 你能用cleartool desc -l vob:<vob_tag> | grep "view_name"看到视图信息,包括uuid吗?
  • 我在Windows下...
  • grep 只是用于提取信息,没有什么可以阻止使用 windows 方法来代替。 windows有“find”,你也可以在那里安装grep。但是即使没有它,您也应该能够看到信息,请参阅我的答案。

标签: jenkins clearcase


【解决方案1】:

如果您仍然可以访问之前的快照视图根目录(如D:\workspace\JOB_NAME\view),view.dat 文件将为您提供view uid

这足以让您取消注册视图,并删除其以前的标签。

参见“How to delete ClearCase views created by other users?”(或“Delete ClearCase Views Script)。

cleartool rmtag -view theViewToRemove
cleartool unregister -view -uuid uuid_of_viewToRemove

【讨论】:

  • 太好了,它有效!但不幸的是,有些视图我丢失了view.dat 文件......事实上,这不是我第一次遇到这个问题。
  • @StéphaneBruckert 你还能访问他们的视图存储吗? (如D:\ClearCaseStorage\Views\COMPANY\user\Jenkins_Slave1_JobName.vws)。您应该也可以在那里找到一个包含视图 uid 的文件。
  • @StéphaneBruckert 更具体地说,(/.../myview.vws/) .view 文件 将包含视图 uuid。
  • 我个人无权访问视图存储,但我现在将让管理员执行此操作。至少,我自己清理了大部分未标记的视图,这在将来总是有用的。我认为没有view.dat文件就没有办法在不访问服务器的情况下删除视图,所以看起来我的问题无法更好地解决。谢谢@VonC!
【解决方案2】:

来自this thread

首先通过运行找出视图的UUID:

% cleartool describe -long vob:vobtag
versioned object base "vobtag"
created 31-Dec-00.16:23:00 by ClearCase VOB admin account
(vobadm.staff)
VOB family feature level: 2
VOB storage hostathname "someplace"
VOB storage global pathname "someplace"
database schema version: 53
VOB ownership:
owner someone
group some group
Additional groups:
...
VOB holds objects from the following views:
? uuid c00c3821.f94411d4.ba94.00:01:80:a9:33:fe
...

然后,您可以通过以下方式删除对不存在视图的所有引用 运行:

% cleartool rmview -force -avobs -uuid
c00c3821.f94411d4.ba94.00:01:80:a9:33:fe
Removing references ...

【讨论】:

  • 没有任何 Jenkins 视图(标记或未标记)出现在 5 个现有 VOB 中任何一个的引用视图中。
猜你喜欢
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多