Subject: Re: #cvs.lock via rsync
To: Andrew Gillham <gillhaa@ghost.whirlpool.com>
From: None <erh@nimenees.com>
List: current-users
Date: 12/04/1999 16:34:41
On Sat, Dec 04, 1999 at 12:42:59PM -0500, Andrew Gillham wrote:
>...
> in /usr/src on the client.  Unfortunately I also need to do a 
> make cleandir or things like 'gdb' will cause cvs to fail. (e.g.
> it wants to make a gnu/usr.bin/gdb/gdb directory, then prune it?)
>...
> If I don't do the 'cleandir' first, cvs will fail to update, unless I omit
> the '-d' option.  If I omit the '-d' option, I don't get any new
> subdirectories, and a subsequent 'make build' will/may fail.  I would
> prefer to not 'cleandir' first, so I can easily update without a full
> build cycle.
	If you use object directories you don't run into this problem.
The other solution would be to fix the way cvs decides to prune a directory.
The way it does it now is it checks for an empty directory after it has
done all operations on sub-directories/files.  This means that it has to
create the directory first to do anything with stuff below it.  To fix it
you'd have to build an in memory empty/non-empty directory tree.
	(This isn't as easy as just looking to see if all the files in
the repository are in the Attic b/c you might be checking out a different
tag, but it might not be too hard: I haven't taken a close look at the
source.)

eric