Subject: misc/17379: The "Tracking NetBSD-current" page doesn't warn of "cvs co src" vs. "-d"
To: None <gnats-bugs@gnats.netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: netbsd-bugs
Date: 06/24/2002 16:30:18
>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: