如何在 ClearCase 中删除带有特殊字符的视图标签

How to delete a view tag with special characters in ClearCase

我有一个视图,由于某种原因,它被命名为一个特殊字符:“0x7f”,至少我是这么认为的..
例如:

MyView123456   -> MyView'0x7f'123456

我只能通过

找到此视图
ct lsview #list all views.

我在将输出转储到文件时发现了这个“0x7f”。
并使用 vim.

现在我想彻底删除这个视图。
我可以通过 -uuid 注销和删除视图本身。 但是我无法删除视图标签。
而且我还发现通配符“*”似乎不起作用。

有谁知道如何删除这个视图标签?
P.s。我在 Linux 下,没有 GUI。

首先尝试“Removing ClearCase objects whose name begins with a hyphen", when using cleartool rmtag:

中描述的解决方法
 cleartool rmtag -- MyView*

注意 use of '--' 以便将命令与其参数分开

您的 shell 正在扩展通配符,尝试在 cleartool 交互式会话中使用它:

cleartool
> rmtag -- MyView*

在Linuxshell中,看单引号够不够:

cleartool rmtag -- MyView'0x7f'123456
# or
cleartool rmtag -- 'MyView0x7f123456'

我能够使用 Perl 在标签中创建和删除包含二进制数据的视图。您必须在字符串中使用八进制值 177。

我使用此命令行创建了我的视图:

perl -e '`cleartool mkview -tag myview7tag /net/bullwinkle/export/vobstg/binarytag.vws`'

并且我使用此命令行成功删除了该视图标签:

perl -e '`cleartool rmview -tag myview7tag`'

如果视图足够独特,您也可以使用(在 Unix 上)或至少尝试:

cleartool rmview -tag `cleartool lsview 'myview*123456'`

还有另一种机制,如果一切都失败了:您可以编辑 vob_tag 注册表文件。这将需要中断,因为注册表文件在 clearcase 启动时加载到注册表服务器的内存中,并且在那之后仅 re/written。

过程是:

  1. 在注册表服务器上停止 ClearCase
  2. CD 到 /var/adm/rational/clearcase/rgy (Unix) 或 {CC 安装目录}\var\rgy (Windows)
  3. 备份 vob_tag 文件。
  4. 在编辑器中加载 vob_tag 文件。 (vi/gedit 在 unix 上,但我会在 windows 上使用 notepad++)
  5. 找到问题视图标签(您可能需要搜索全局路径或名称的其他部分)。
  6. 记下视图的路径。
  7. 删除该行。
  8. 在注册表服务器上启动 ClearCase
  9. 取消注册视图或使用更易于访问的标签重新标记它。