Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 13:52:52 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        Bill Fumerola <billf@chc-chimes.com>
Cc:        Warner Losh <imp@village.org>, Bruce Evans <bde@zeta.org.au>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern kern_exit.c kern_synch.c src/sys/sys proc.h 
Message-ID:  <19991129055252.65D5E1C6D@overcee.netplex.com.au>
In-Reply-To: Message from Bill Fumerola <billf@chc-chimes.com>  of "Sun, 28 Nov 1999 15:50:09 EST." <Pine.BSF.4.10.9911281548150.51090-100000@jade.chc-chimes.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Bill Fumerola wrote:
> On Sun, 28 Nov 1999, Warner Losh wrote:
> 
> > Hmmm.  I do find it odd that all three files showed exactly the same
> > number of lines + and -...  Even the .h file.
> 
> While we're making complaints about the accuracy of the diff counter..
> 
> It gets rather confused when multiple branches are thrown into
> the mix. If I make a change which is rev1.3 of a file but was
> based off of 1.1.1.6 or something, the counter will give me the
> difference of 1.3 and 1.2, IIRC.
> 
> Not a big deal, but if someone is hacking around there, they might
> want to check that out too.

The line counter shows the impact on the CVS repo, which occasionally isn't
the same as the actual number of lines added or removed.  The RCS file
format is quite braindead and certain operations to achieve things for CVS
are hideously expensive for the repository..  Files leaving the vendor branch
is such a thing.

Scenario, given a file and a timeline:
1.1.1.1	vendor import
1.1.1.2	vendor import +1000, -500 lines
1.1.1.3 vendor import +2000, -500 lines
1.1.1.4	vendor import +1000, -1000 lines
at this point, somebody changes 1 line and the file leaves the vendor branch..
1.2 trivial 1-line change: result +4001, -2001 lines

This is because the 1.2 delta is stored relative to 1.1.1.1, *not* 1.1.1.4,
and so the entire vendor history is duplicated in the 1.2 delta.   Now, repeat
this for 2000 files in a large directory....  it adds up a lot.

*This* is why we have such "hands off" policies for src/contrib and other
things that track the vendor releases.  This is why "typo fixes" in man
pages and spelling "corrections" are so strongly discouraged for vendor
code.

Cheers,
-Peter



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991129055252.65D5E1C6D>