[ I hope my question is within the scope of this mailing discussion.  I
posted my question to news:comp.software.config-mgmt, but received no
reply so far.  So, I thought of trying here, as I've no where else to
turn for help.  Thanks. ]


From: Hon-Chi Ng <[EMAIL PROTECTED]>
Subject: CVS: Using both client/server method with rsh and -d option
for checkout
Date: 15 Mar 2000 05:23:29 GMT
Message-ID: <8an6oe$v7k$[EMAIL PROTECTED]>
Newsgroups: comp.software.config-mgmt,comp.unix.misc,comp.unix.questions

I'm using CVS 1.10.7 (client/server) on Solaris 2.5.1 with hypothetical
username 'user1' on host 'mach1'.
  > cvs -v
  Concurrent Versions System (CVS) 1.10.7 (client/server)
  ...
  > whoami
  user1
  > hostname
  mach1

First of all, I can import and check out (with -d option for output dir)
the source files using non-client/server method.
  > cd proj1
  > ls src/foo.c
  src/foo.c
  > cvs -d /proj/cvs_repo import -m "My Project 1" MyProj1 XYZ start
  cvs import: Importing /proj/cvs_repo/MyProj1/src
  N MyProj1/src/foo.c
  ...
  No conflicts created by this import
  > cd ../proj1_test
  > cvs -d /proj/cvs_repo co -d . MyProj1
  cvs checkout: Updating .
  cvs checkout: Updating src
  U src/foo.c
  ...

However, if I check out the source files using remote method with rsh
protocol, CVS complains about the -d option of checkout (Note it's NOT
the -d for CVSROOT).
  > cvs -d :ext:user1@mach1:/proj/cvs_repo co -d . MyProj1
  cvs server: existing repository /proj/cvs_repo does not match
/proj/cvs_repo/MyProj1
  cvs server: ignoring module MyProj1

On the other hand, if I check out the source files using remote method
with rsh protocol but without the -d option of checkout, CVS works
happily.
  > cvs -d :ext:user1@mach1:/proj/cvs_repo co MyProj1
  cvs server: Updating MyProj1
  cvs server: Updating MyProj1/src
  U MyProj1/src/foo.c
  ...

I further verify that it's not the way I import the source files by
importing them using remote method with rsh protocol.  CVS still
complains
when the remote method and -d option of checkout are used
simultaneously.
  > cd ../proj2
  > ls src/bar.c
  src/bar.c
  > cvs -d :ext:user1@mach1:/proj/cvs_repo import -m "My Project 2"
MyProj2 XYZ start
  cvs server: Importing /proj/cvs_repo/MyProj2/src
  N MyProj2/src/bar.c
  ...
  No conflicts created by this import
  > cd ../proj2_test
  > cvs -d :ext:user1@mach1:/proj/cvs_repo co -d . MyProj2
  cvs server: existing repository /proj/cvs_repo does not match
/proj/cvs_repo/MyProj2
  cvs server: ignoring module MyProj2
  > cvs -d :ext:user1@mach1:/proj/cvs_repo co MyProj2
  cvs server: Updating MyProj2
  cvs server: Updating MyProj2/src
  U MyProj2/src/bar.c
  ...

Q: I want to check out the source files into my current directory just
as those that I originally imported into the repository without the
module name prepended as subdirectory to the current directory (i.e.
using -d option of checkout), and I want to use the remote method with
rsh protocol.  How can I get both to work happily?

Thanks.  I appreciate your help.

Hon-Chi

Reply via email to