July 01, 2003
At work we have our CVS repository on a Windows2000 machine (running CVSNT).
Being hardcore I don't use WinCVS but prove my manliness with the command line client that comes with Cygwin. Except it stopped working yesterday when I did my latest refresh of Cygwin.
It transpires that the problem was in my definition of CVSROOT. I don't think the validation rules have changed, rather that the updated version of CVS I picked up yesterday enforces them more effectively.
Anyway, I looked and looked and couldn't find any reference to the correct way to connect to a CVSNT repository from a Unix client. Until I stumbled across this mailing list posting.
To connect to a CVSNT repository on a Windows server from an ordinary CVS client the form is;
cvs -d:pserver:[username]@[server name]:/c//[directory name] [command]
The important thing to note is the use of the single / between the : and the drive letter and the double / between the drive letter and the directory name.
Posted by Andy Todd at July 01, 2003 05:46 PM
Oh no, cygwin is not enough to prove manliness. You need to SSH to a unix host (you want to prove yourself, right? then you got to have unix account), use CVS command line there (using -d: is a right way. If you set CVS_ROOT in your shell, that means you work on only one repository usually - not man enough :-)). Then you maintain your sandbox on unix. Use Samba to mount it on your Win2k machine.
Anyway, I had the same issue last year. I believe I got it figured out from the same mailing list post too. Soon, we got sensible and moved our repository to an old Pentium75 server running linux.
Yes, the old drive letter trick isn't well documented. However, it's widely regarded as a "hack" to run a CVS server on NT anyway - performance and reliability certainly aren't enhanced by the exercise. Sadly, that's exactly what some people deliberately decide to do anyway.
Your tip on accessing a winblows CVS server from a "unix" platform might actually only work under cygwin. i'm having a terrible time trying to connect to a winnt server from linux. i tried your trick and used ":pserver:user@host:/c://cvs" and i just get a different error:
/c://cvs: no such repository
yes, the repository exists, i copied the string from a working wincvs client and added the extra slashes.
still looking for an answer...
I believe you may have a little more luck if, instead of
The second colon is what causes the trouble I believe.