Veronica Lee writes:
> 
> Then how does CVS know which box's repository I am trying to access?

If you're in a working directory, from the CVS/Root and CVS/Repository
files; if not, then from the -d global option if specified and from
$CVSROOT otherwise.

> I have CVS istalled on box A and B.
> I would telnet into Box B.
> Login to CVS Server on Box A:  /usr/local/bin/cvs -d
> :pserver:veronica@boxA:/usr/local/repos_on_A login

That just causes CVS to remember the password for that particular root,
it does not "make it current".

> However, if I try to check out a module, I ran into problems.
> 
> /usr/local/bin/cvs -d co /usr/local/repos_on_A/myproj  (failed)
> /usr/local/bin/cvs -d co repos_on_A/myproj  (failed)
>
> It appears that instead of looking for /usr/local/repos_on_A/myproj on
> Box A, it looked for the repository on box B.  When it cannot find it,
> CVS gave me errors.

Those aren't valid commands -- -d needs an argument.  And checkout takes
a module name or a path relative to the root, so the correct command
would be (assuming /usr/local/bin is in your $PATH):

        cvs -d :pserver:veronica@boxA:/usr/local/repos_on_A co myproj

If you're only using a single repository (which is how most people use
CVS), just set the $CVSROOT environment variable to point to that
repository (e.g., CVSROOT=:pserver:veronica@boxA:/usr/local/repos_on_A);
then you don't have to specify -d on the command line.

-Larry Jones

Honey, are we out of aspirin again? -- Calvin's Dad

Reply via email to