[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cvs checkout -d & Max-dotdot
From: |
John Daniel Doucette |
Subject: |
cvs checkout -d & Max-dotdot |
Date: |
Wed, 26 Mar 2003 08:40:42 -0400 |
Hello all,
I have been doing development on a project for a couple of years and have
been using CVS to control source. Up to now all repository access has been
on my local machine, i.e. :local:... I am required to move the repository
to a Linux server, and make it available to the company's LAN using the
:pserver: client/server protocol. I have moved the repository
successfully, and can access it from different XP/Win200
machines. However, the repository contains hundreds of versions of
makefiles that use the -d <path> option with the checkout command to check
out sources in other than the current directory. I.e. there are many lines
with commands like "cvs checkout -d ../../../stuff". This apparently
doesn't work between client/server. An actual error message I get is:
mkdir: created directory `../../../../../top/middle/bottom/working'
cvs server: protocol error: `../../../../../top/middle/bottom/working'
contains more leading ..
cvs [server aborted]: than the 0 which Max-dotdot specified
Is this a server bug or client bug? It seems like a client bug, since
checkout -d should only affect the destination of the checked out files on
the client machine, and has nothing whatsoever to do with the repository
path of the modules being checked out. I can easily change references in
the latest versions of all makefiles to use a cd ../../../../.. followed by
checkout, but this doesn't really help me if someone wants to build a old
version. I can't feasibly change all versions of the makefiles! I have
found reference in the CVS client/server protocol documentation to
"Requests" that can be made of the server. One of the requests is the
Max-dotdot option. What would happen if I used Telnet to send this request
to the server with a reasonable value after I have logged in and before I
have checked out and run my makefile? Would the Max-dotdot value "stick
around" after the telnet communication and be applied when I run the
makefile? Does anyone know what this theorized telnet session would look
actually like? The cvs client/server protocol documentation is not super
clear to me. On the Linux Red Hat box I am running: Concurrent Versions
System (CVS) 1.11.1p1 (client/server). On my PC I am running: Concurrent
Versions System (CVSNT) 1.11.1.3 (Build 72) (client/server). Are there any
environment variables or command-line options that can be added to the
xinetd.d/cvspserver service file to affect it's Max-dotdot setting? Any
ideas/thoughts would be appreciated. Thanks.
===================================
John Daniel Doucette, Sr. Software Designer
J. J. MacKay Canada Limited
Halifax R & D Office
1046 Barrington Street, 1st Floor
Halifax, Nova Scotia
Canada
B3H 2R1
Voice: 902.423.7727 x222
Fax: 902.422.8108
Web: www . jjmackay . com
Email: john . doucette @ jjmackay . com
===================================
- cvs checkout -d & Max-dotdot,
John Daniel Doucette <=