[cvsnt] Drive-root (e.g., ":local:P:\") CVSROOT support.

Brian Cowan brcowan at us.ibm.com
Mon Aug 28 17:44:58 BST 2006


Given that the tool is a read-only tool, I don't think corrupting the 
repository is a risk. (It's actually an import tool that copies the data 
into another source control product.) I was hoping to find out when it 
stopped working so that I can make sure that the tool checks the CVS 
version and uses the appropriate parameters.

The import tool actually wants the "local" repository so it can parse 
the repository directory structure. (It also reads all the ",v" files to 
get branch/tag/version data.) Given that all it does after that is  call 
cvs to get the versions from the repository, I don't think it should 
care about the CVSROOT ev after that.

Fun, now to set up the cvs server and verify that...

Glen Starrett wrote:
> Brian Cowan wrote:
>> I have a customer using a (I think twice-mapped) drive as his CVS 
>> root. He's doing this:
>> set CVSROOT=:local:P:\
>> Subst P: Y:\Dir1\Dir2
> 
> Ouch.  We strongly recommend to NOT use local protocol over network 
> drives.  There are a number of problems that can happen, up to 
> corrupting your repository and losing entire history of files to 
> corruption.  This is a very dangerous configuration.
> 
> You should instruct your client to set up a CVSNT server and use a 
> standard protocol (e.g. sspi, sserver, or ssh).
> 
>>
>> When he runs a tool of ours that hard-codes the cvs get, he gets the 
>> following error:
>> cvs [checkout aborted]: Local access to network share not supported 
>> (Use -N to override this error).
> 
> It's telling you to use the -N global switch to override that warning. 
> However, note my warnings above.
> 
>>
>> So, the questions are:
>> 1) Did tricks like the above ever work?
> 
> Unfortunately, Yes.
> 
>> 2) When did it stop working?
> 
> Some time ago the -N was added and the behavior to block by default was 
> added when uneducated users had some problems running across a network 
> link.  They didn't know any better -- so the warning was added.
> 
>> 3) Will setting CVSROOT=:local:Y:\Dir1\Dir2 work?
>> 4) If the answer to #3 is "no", what version did it stop working (as 
>> I've done #3 in the not-too-distant past)?
> 
> See above.
> 
>> I seem to recall CVS not liking CVSROOT environment variables pointing 
>> to the root of the drive, wanting to be at least one level down.
> 
> That is correct.
> 
> Regards,
> 


More information about the cvsnt mailing list