Operating System - OpenVMS
1753500 Members
4209 Online
108794 Solutions
New Discussion

Cannot create a .hg (or .anything) directory on a CIFS share.

 
Paul Jerrom
Valued Contributor

Cannot create a .hg (or .anything) directory on a CIFS share.

We are running OpenVMS 8.4 patched up to VMS84I_UPDATE V8.0 on a rx2620. The installed version of CIFS is V1.2-ECO1. TCP/IP is V5.7 - ECO 4

 

We are attempting to use Mercurial to create repositories on a CIFS share on the rx2620. The share definition in CIFS is:

 

[sharename]

       comment = sharename

       path = DSA102:[000000]

       valid users = name1, name2, name3

       read only = No

       create mask = 04765

       guest ok = Yes

       case sensitive = No

       vms rms format = STREAM

       mangled names = no   ! we’ve tried this as yes and no

 

When we try to make a repository from a Windows client we get the following:

 

Q:\NETBEANS\lw0000>hg -v init

abort: The system cannot find the file specified: 'Q:\NETBEANS\lw0000\.hg'

 

(Q: is the drive that is mapped to the Samba share defined above)

 

Further, we cannot manually make a directory called .hg :

 

Q:\NETBEANS\lw0000>mkdir .hg

The system cannot find the file specified.

 

I know the inability of Windows to make a .anything directory is well known. However we can make a ..anything directory, and can use the workaround of creating .anything. which drops the final dot from the created directory name. Unfortunately if the directory already exists the init fails as Mercurial assumes it already exists.

 

However, we also have a share which maps using Advanced Server to an AlphaServer, running OpenVMS V8.4. This share has no problems with us creating a .anything directory, and the hg init works no problems here.

 

F:\opt>dir

Volume in drive F is nnnn_1

Volume Serial Number is 0000-0001

Directory of F:\opt

25/03/2013  11:23    <DIR>          .

15/08/2005  09:28    <DIR>          ..

F:\opt>mkdir .hg

F:\opt>dir

Volume in drive F is nnnn_1

Volume Serial Number is 0000-0001

Directory of F:\opt

25/03/2013  11:23    <DIR>          .

15/08/2005  09:28    <DIR>          ..

17/09/2014  08:00    <DIR>          .hg

 

On Samba, when I try the mkdir or init, the failure is not reported in the Samba logs (set at a high debug level) which suggests the command is not making it to VMS and that the error is coming from Windows. Which suggests (as Pathworks works) that it is to do with the share definition.

 

I notice that in the Advanced Server setup we have:

 

Section: [SYSTEM\CurrentControlSet\Services\AdvancedServer\ShareParameters]  Type: Integer

  Keyword                            Current     Default     Minimum     Maximum

  ------------------------------  ----------  ----------  ----------  ----------

  MakeUnixDirectoriesOnShare               1           1           0          -1

 

Is this what is permitting us to create the .hg on the Alpha?

Is there a Samba equivalent?

Has anyone managed to successfully create a Mercurial repository on a CIFS share?

Is there a Mercurial workaround that does not require a .hg directory?

 

Thanks as always for your help and insights.

Have fun,

Peejay
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If it can't be done with a VT220, who needs it?