2

我正在使用 ClearCase 8 测试与我公司软件的集成,并且我将在同一台机器上使用客户端和服务器软件,因此我不需要通过网络访问我创建的测试 VOB。我正在尝试在本地磁盘而不是网络共享上创建 VOB,但我似乎无法弄清楚如何做到这一点,如果它甚至可能的话。

首先,我尝试只使用常规路径,例如:

cleartool mkvob -tag \vobFoo C:\Users\Public\cc_vobs\vobFoo.vbs
cleartool: Error: storage directory must be in UNC style (e.g. \\host\share\...)

找到这个问题后,我的下一个尝试是:

cleartool mkvob -tag \vobFoo \\localhost\c$\Users\Public\cc_vobs\vobFoo.vbs
cleartool: Error: Attempt to get location information on "\\localhost\c$\Users\Public\cc_vobs\vobFoo.vbs" failed: Invalid argument.

我检查了 - 输入\\localhost\c$\Users“运行...”菜单确实会在 Windows 资源管理器中显示正确的文件夹,所以我认为这不是环回适配器的问题。

我确实在此处此处找到了对错误消息的一些引用,但似乎都不适用于我的情况(我没有使用 UNIX,ClearCase Doctor 没有给我相关的错误消息)

即使在设置 Windows 共享之后,这也失败了:

cleartool mkvob -tag \vobFoo \\localhost\cc_vobs\vobFoo.vbs
cleartool: Error: Attempt to get location information on "\\localhost\cc_vobs\vobFoo.vbs" failed: Invalid argument.

我可以让命令通过的唯一方法是将网络主机名与共享一起使用:

cleartool mkvob -tag \vobFoo \\hostname\cc_vobs\vobFoo.vbs

是否根本不可能像我尝试做的那样在本地存储位置设置 VOB?还是我错过了什么?

4

1 回答 1

4

我确认您的 UNC 路径不能使用 localhost,但必须以主机名开头。

原因是 Vob 存储路径必须是全局可访问的,即可以从任何计算机访问(本地主机只对一台计算机有意义)。

cleartool mkvob手册页包括:

Windows—vob-storage-pname 必须是 UNC 名称。

UNC(统一命名约定)

Microsoft Windows UNC 是通用命名约定或统一命名约定的缩写,它指定了一种通用语法来描述网络资源(例如共享文件、目录或打印机)的位置。Windows 系统的 UNC 语法具有通用形式:

\\ComputerName\SharedFolder\Resource

Microsoft 通常将此称为“网络路径”。


拥有本地路径(无需定义共享)的一种方法是使用-stgloc参数,指的是预定义存储位置的名称(而不是-host -hpath -gpath参数)

请参阅cleartool mkstgloc(定义 Vobs 或视图的存储位置)。
您可以在那里使用本地路径。

在许多情况下,ClearCase 启发式地从stgloc-pname参数中导出适当的可访问性信息。
在服务器存储位置与其客户端之间没有文件系统连接的情况下,ClearCase 会派生主机名和主机本地路径,但由于无法派生有意义的全局路径,因此您必须指定-ngpath取消设置全局路径信息。

要为快照视图或仅通过快照视图访问的 VOB 创建服务器存储位置,请使用以下选项:

  • -host -hpath -gpath当服务器存储位置主机与其客户端之间存在文件系统连接时。
  • -ngpath -host -hpath当服务器存储位置主机与其客户端之间没有文件系统连接时。

因此,如果您这样做(-ngpath选项)请小心:您的 Vob 将无法通过动态视图访问,只能通过快照视图访问

于 2012-12-04T01:35:13.933 回答