我正在使用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\...)
找到this question后,我的下一次尝试是:
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资源管理器中显示正确的文件夹,因此我不认为这是环回适配器的问题。
我没有找到的错误信息提供一些参考here和here,但似乎都不适用于我的情况(我不使用UNIX和ClearCase医生不给我相关的错误信息)
即使在设置了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?或者我错过了什么?
答案 0 :(得分:3)
我确认您的UNC路径不能使用localhost,但必须以主机名开头。
原因是Vob存储路径必须全局可访问,即可从任何计算机访问(并且localhost仅在一台计算机上有意义)。
cleartool mkvob
手册页包含:
Windows-vob-storage-pname必须是UNC名称。
UNC (Uniform Naming Convention):
Microsoft Windows UNC是Universal Naming Convention或Uniform Naming Convention的缩写,它指定了描述网络资源位置的通用语法,例如共享文件,目录或打印机。 Windows系统的UNC语法具有通用形式:
\\ComputerName\SharedFolder\Resource
Microsoft经常将此称为“网络路径”。
您拥有本地路径(无需定义共享)的一种方法是使用-stgloc
参数,引用预定义存储位置的名称(而不是-host -hpath -gpath
参数)
请参阅cleartool mkstgloc
(定义Vobs或Views的存储位置)
你可以在那里使用本地路径。
在许多情况下,ClearCase启发式地从
stgloc-pname
参数中获取适当的可访问性信息 如果服务器存储位置与其客户端之间没有文件系统连接,ClearCase将派生主机名和主机本地路径,但由于无法派生有意义的全局路径,因此必须指定-ngpath
以取消设置全球路径信息。要为快照视图或仅通过快照视图访问的VOB创建服务器存储位置,请使用以下选项:
-host -hpath -gpath
当服务器存储位置主机与其客户端之间存在文件系统连接时。-ngpath -host -hpath
。如果您这样做(-ngpath
选项),请务必小心:您的Vob将无法通过动态视图访问,只能通过快照视图访问。