[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