From owner-cvs-all Sun Nov 28 21:53: 1 1999 Delivered-To: cvs-all@freebsd.org Received: from overcee.netplex.com.au (overcee.netplex.com.au [202.12.86.7]) by hub.freebsd.org (Postfix) with ESMTP id 6846A15412; Sun, 28 Nov 1999 21:52:53 -0800 (PST) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 65D5E1C6D; Mon, 29 Nov 1999 13:52:52 +0800 (WST) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.1.1 10/15/1999 To: Bill Fumerola Cc: Warner Losh , Bruce Evans , 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 In-Reply-To: Message from Bill Fumerola of "Sun, 28 Nov 1999 15:50:09 EST." Date: Mon, 29 Nov 1999 13:52:52 +0800 From: Peter Wemm Message-Id: <19991129055252.65D5E1C6D@overcee.netplex.com.au> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk 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