Pregunta

I'm working with ClearCase 8 to test integration with my company's software, and I will be using the client and server software on the same machine, so I don't need the test VOBs I create to be accessible over the network. I'm trying to create a VOB on a local disk, rather than a network share, but I can't seem to figure out how to do it, if it is even possible.

First, I tried just using a regular path, e.g.:

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

After finding this question, my next attempt was this:

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.

I checked - typing \\localhost\c$\Users into the "Run..." menu does bring up the proper folder in Windows Explorer, so I don't think it's an issue with the loopback adapter.

I did find some references to the error message here and here, but neither seems applicable to my situation (I'm not using UNIX and ClearCase Doctor doesn't give me the relevant error message)

Even after setting up a Windows share, this also failed:

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.

The only way I could get the command to go through was to use the network host name with the share:

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

Is it simply not possible to setup a VOB in a local storage location like I'm trying to do? Or am I missing something?

¿Fue útil?

Solución

I confirm that your UNC path cannot use localhost, but must start with the host name.

The reason is that the Vob storage path must be globally accessible, ie accessible from any computer (and localhost makes sense only from one computer).

The cleartool mkvob man page includes:

Windows—vob-storage-pname must be a UNC name.

UNC (Uniform Naming Convention):

The Microsoft Windows UNC, short for Universal Naming Convention or Uniform Naming Convention, specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. The UNC syntax for Windows systems has the generic form:

\\ComputerName\SharedFolder\Resource

Microsoft often refers to this as a "network path".


One way for you to have a local path (without having to define a share) is to use the -stgloc parameter, referring to the name of a pre-defined storage location (instead of -host -hpath -gpath arguments)

See cleartool mkstgloc (which defines storage locations for Vobs or Views).
You can use a local path there.

In many cases, ClearCase heuristically derives appropriate accessibility information from the stgloc-pname argument.
In cases where there is no file system connectivity between the server storage location and its clients, ClearCase derives the host name and host-local path, but because no meaningful global path can be derived, you must specify -ngpath to unset the global path information.

To create a server storage location for snapshot views or for VOBs intended to be accessed only through snapshot views, use these options:

  • -host -hpath -gpath when there is file system connectivity between the server storage location host and its clients.
  • -ngpath -host -hpath when there is no file system connectivity between the server storage location host and its clients.

So be careful if you do this (-ngpath option): your Vob won't be accessible through dynamic views, only snapshot views.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top