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.)