Wednesday, February 10, 2010

CVS and Windows paths... the nightmare reloaded

if some smart guy installed CVS on Windows (using cvsnt) and mapped a repository using a full path name, such as d:\cvsroot.... well, you MIGHT be able to access to it from Windows CVS Client, but forget about accessing from Unix... I have tried everything and it simply doesn't work.
The final solution is:
tar and feather the guy who made this mapping, and create a mapping without the d:\

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:JCRMTools/mycvsusername:mypwd@10.20.30.40:d:/cvsroot" login
Logging in to :pserver:weblogic@jcrmtools:2401/mycvsusername:mypwd@10.20.30.40:d:/cvsroot
CVS password:
Unknown host JCRMTools.

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:d:/cvsroot" login
cvs login: CVSROOT may only specify a positive, non-zero, integer port (not `d:').
cvs login: Perhaps you entered a relative pathname?
cvs [login aborted]: Bad CVSROOT: `:pserver:mycvsusername:mypwd@10.20.30.40:d:/cvsroot'.
[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/home/CVS" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/home/CVS
/home/CVS: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/
/: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/cvsroot
/cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/CVS" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/CVS
/CVS: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:d//cvsroot" login
cvs login: CVSROOT may only specify a positive, non-zero, integer port (not `d').
cvs login: Perhaps you entered a relative pathname?
cvs [login aborted]: Bad CVSROOT: `:pserver:mycvsusername:mypwd@10.20.30.40:d//cvsroot'.

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/d//cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/d//cvsroot
/d//cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/d/cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/d/cvsroot
/d/cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40://d/cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401//d/cvsroot
//d/cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/d:/cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/d:/cvsroot
/d:/cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/d:cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/d:cvsroot
/d:cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40:/d:\cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401/d:\cvsroot
/d:\cvsroot: no such repository

[weblogic@CRM-INTG-DEV ~]$ cvs -d ":pserver:mycvsusername:mypwd@10.20.30.40://d:\cvsroot" login
Logging in to :pserver:mycvsusername@10.20.30.40:2401//d:\cvsroot
//d:\cvsroot: no such repository



Furthermore, if you do (Hudson does it to check if anything new has been committed since the last build)

[weblogic@CRM-INTG-DEV ACME_INTEG_EAR]$ cvs -q -z3 update -PdC -D "Wednesday, February 10, 2010 1:01:29 PM UTC"

and you get:
cvs server: cannot open directory . for empty check: Input/output error
then you might have to give Full Control to Everyone on the TEMP directory used by CVSNT on the server....

CVS, who needs enemies when I have a friend like you!

No comments: