> Ok, got this figured out.  Just incase anyone wants to know:
> 
> Here's what is happening:
> 1. J: is a networked drive connected to my home directory on our Linux
> server via Samba

If that networked drive contains the repository, that's a bad idea.
Most cases of CVS file corruption seem to happen when somebody has
remote-mounted the repository.

If it's your sandbox, well, that's not the most efficient way to
do things, but it shouldn't cause problems.

> 2. I started doing my work telneted into the server and got checkin and
> checkouts working fine
> 3. CVS creates the directory CVS inside your workspace when you do your
> checkout; it also creates the file Root in that directory set to your
> CVSROOT where you got your files checked out from.  In my case this CVS/Root
> looked like '/swdev/cvsroot'

Right.

> 4. I then tried to checkin some changes via CVS in a DOS box on my local
> machine, with CVSROOT=:pserver:derosier@engswdev:/swdev/cvsroot
> These failed with a message of:
> cvs commit: ignoring CVS/Root because it specifies a non-existent repository
> /swdev/cvsroot
>
Right.
 
> Reason: CVS stores your CVS Root in the file Root off of the subdirectory
> CVS in you project's working directory.  It uses this file to determine
> where the files should be checked back into, ignoring the actual CVSROOT
> variable.

This is a feature.  Many CVS users have source checked out from multiple
repositories, and if the CVSROOT variable was not overridden by
CVS/Root that would be a real pain.

  This is normally not a problem, but it is in the case where you
> do the check out locally, then do the edits and try to check them in
> remotely (since this is a samba network drive to my windows 2k machine)
> using the pserver method.  In this case it fails because CVS/Root has the
> "wrong" CVSROOT string.
>
Right.  Assuming you're on the command line, you can specify the
CVSROOT variable on the command line.  This is a pain, and is why
CVS/Root overrides CVSROOT.
 
> New question:  Is there an easy way to fix this problem, so I can
> transparently use CVS in the same working directory both remotely and
> locally?
>
Nope.  Not that you should be casually switching back between Windows
and Unix anyway, since you'll likely eventually cause line-ending
problems by accident.
 
> Basically, my current "fix" is to only use one method, ie only do my work
> remotely using pserver.
> 
That sounds like an excellent idea to me, and the correct thing to do.

-- 
Now building a CVS reference site at http://www.thornleyware.com
[EMAIL PROTECTED]



_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs

Reply via email to