Subject: Re: src/dist is a *bad* idea
To: Thor Lancelot Simon <tls@rek.tjls.com>
From: David Maxwell <david@fundy.ca>
List: current-users
Date: 12/15/1999 23:12:58
On Wed, Dec 15, 1999 at 06:13:25PM -0500, Thor Lancelot Simon wrote:
> On Wed, Dec 15, 1999 at 07:00:50PM -0400, David Maxwell wrote:
> > When directories are copied within the repository, (including copying the
> > ,v files) CVS will be confused about what versions those files exist in.
> 
> ...if the person doing the move/copy is an idiot.

I've used CVS enough to know that the whole system can be very
confusing to non-idiots. Keeping track of where you are, and
what you're doing is non-trivial.

> > It sounds like people prefer to do these 'copies' because it's less work,
> > (up front anyway) but if the cleanup work never gets done, doesn't it
> > mean that it is no longer possible to check out a clean copy of <1.3 ?
> 
> Wrong.  The *only* way to move files in a CVS-controlled source tree,
> while retaining revision history, involves a careful repository copy.

Ok, so the important thing it to know the changes a file has been
through, rather than where it was. That's reasonable in a project
like NetBSD, drivers, for example, can go from arch/x back up to
something generic as they're cleaned up.

> The only thing you can't do after such a copy is time travel.  This
> would seem to be something of a nuisance but in fact date-based
> checkouts appear to basically never be used by anyone, so we have
> not had a problem with it as yet in what, 7 years of the NetBSD
> CVS repository.

That's fine too. Date based might be nice for certain branches of
-current from time to time, but certainly is a minor thing to give
up. 

> Since the NetBSD developers are not complete morons, we're "careful".

Since the methods you use are not documented anywhere that I know
of, I really can't come to a conclusion about how good your "careful"
methods are - without a lot of trial and error checkouts and examination
by hand. So tell me, how are normal mortals de-moronified when they
are given CVS access?

> releases.  We have tools that Do The Right Thing now so that new
> developers aren't tempted to do something idiotic like listen to Greg
> and screw everything up.

Suggesting that listening to someone may be 'idiotic' rather subtracts
from the credibility of your message.

It is much more worthwhile to explain the process _thoroughly, once_
and then point people who ask back to that documentation.

For an Open-Source project, it does sometimes seem that there are
a lot of methods in use that don't get treated with the same level
of open-ness as the code is.

> > That's also more important with the availability of anonCVS, rsync of
> > the repository, and (soon-ish) cvsup.
> ...your point being?  We haven't screwed it up yet, so why do you
> presume that we will do so in the future?

I didn't say that. The repository being more 'completely' available
means that people may make more thorough use of it now. Knowing 
whether I can use anonCVS and check out a copy of the 1.2 tree
complete and intact is important.

-- 
David Maxwell, david@vex.net|david@maxwell.net -->
Any sufficiently advanced Common Sense will seem like magic... 
					      - me