>Number: 17379
>Category: misc
>Synopsis: The "Tracking NetBSD-current" page doesn't warn of "cvs co src" vs. "-d"
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: misc-bug-people
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Mon Jun 24 13:31:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Greg A. Woods
>Release: NetBSD-current
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
System: NetBSD
>Description:
Every time I go to checkout NetBSD from CVS I have to re-learn
this "trick".....
I do usually remember to check the "Tracking NetBSD-current"
page, http://www.netbsd.org/Documentation/current/, for new
information about the repository, but the warning I seem to need
isn't there.
The implication being of course that if someone as familiar with
CVS as I am needs this reminder then it will certainly be
necessary for anyone encountering this procedure for the first
time.
>How-To-Repeat:
# set CVSROOT to local repo copy or to anonymous CVS, etc.
$ cvs -q co -r netbsd-1-6 -d NetBSD-1.6 src
cvs checkout: existing repository /cvsroot/basesrc does not match /cvsroot/gnusrc/gnu
cvs checkout: ignoring module _gnusrc-cmp
cvs checkout: existing repository /cvsroot/basesrc does not match /cvsroot/sharesrc/share
cvs checkout: ignoring module _sharesrc-cmp
cvs checkout: existing repository /cvsroot/basesrc does not match /cvsroot/syssrc/sys
cvs checkout: ignoring module _syssrc-cmp1
cvs checkout: existing repository /cvsroot/basesrc does not match /cvsroot/syssrc/usr.sbin/config
cvs checkout: ignoring module _syssrc-cmp2
cvs checkout: existing repository /cvsroot/basesrc does not match /cvsroot/syssrc/usr.sbin/dbsym
cvs checkout: ignoring module _syssrc-cmp3
>Fix:
Someday maybe CVS itself will get fixed, but in the mean time....
On the page at http://www.netbsd.org/developers/cvs-repos/modules.html
in the section "Implications of this repository layout" we find
the following explanation of the problem:
--------------------
Use of the -d option with cvs co
Running cvs co -d dir src (or similar commands with the other
src* modules) does not work. You will get error messages saying
"existing repository ... does not match ...; ignoring module
_gnusrc-cmp" etc. The workaround is to drop the -d option and
let cvs create the default directory.
--------------------
It should probably also mention that you should check that
you're not overwriting any existing "src" directory, and perhaps
even document a "safe" procedure such as this, where for example
NewName might be the name of a branch.
cd /parent/dir/to/checkout/into
mkdir NewName-temp
cd NewName-temp
cvs co ... src
mv src ../NewName
cd ..
rmdir NewName
This paragraph should be copied to the "Tracking NetBSD-current"
page, http://www.netbsd.org/Documentation/current/, and a link
should be added to the modules.html page where reference is made
to checking out just a part of the tree.
Some reference should probably also be made to the doc/BRANCHES
file on both the Documentation/current/ page, as well as on the
developers/cvs-repos/ page.
>Release-Note:
>Audit-Trail:
>Unformatted: