Subject: Re: Problems tracking -current with anoncvs ("could not chdir")
To: Rick Byers <rickb@iaw.on.ca>
From: None <erh@nimenees.com>
List: current-users
Date: 04/13/2000 13:13:46
On Thu, Apr 13, 2000 at 12:40:33PM -0400, Rick Byers wrote:
> The problem is that some directories have old empty sub-directories in
> the CVS repository with the same name as binaries creating during a build
> on my machine (i.e. /usr/src/gnu/usr.bin/gdb/gdb).  So when I do an update
> in that directory I get:
> "cvs [update aborted]: could not chdir to gdb: Not a directory"
> and the update aborts.  CVS wants to create the gdb directory, even though
> it will remove it afterwords because it contains only empty
> sub-directories.
	I consider this almost a bug in CVS.  It should really figure out
whether it needs a directory before creating it.  If you happen to have
the inclination to fix this go for it.

> I need the -d flag because I want my tree to pick up any new directories
> in the repository.  I don't want to have to "make clean" before hand to
> clean out all the binaries.  How are other people dealing with this?  I
	The current general solution is to use obj directories.
Set OBJMACHINE=obj.<foo> in /etc/mk.conf and run a make obj before doing
any builds.  You're going to want to do a make cleandir first.
	This has the added benefits of being able to toss the output of
the build process someplace else (another disk) and creates a really
fast way to clean the source tree.  (rm -r /usr/obj or, if /usr/obj
is a separate partition just newfs it)

eric
(I wonder where this should be documented.)