Date: 13 Mar 2002 23:53:01 +0100 From: Dag-Erling Smorgrav <des@ofug.org> To: obrien@FreeBSD.ORG Cc: "Brian F. Feldman" <green@FreeBSD.ORG>, arch@FreeBSD.ORG Subject: Re: Unmoronify CVS Message-ID: <xzpit8013n6.fsf@flood.ping.uio.no> In-Reply-To: <20020313143522.A13768@dragon.nuxi.com> References: <xzphenkfaif.fsf@flood.ping.uio.no> <200203132158.g2DLwW611237@green.bikeshed.org> <20020313143522.A13768@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
"David O'Brien" <obrien@FreeBSD.ORG> writes: > Neither of you two have yet to give real justification. > I use -R all the time -- does that mean I am not using a "read-only" > repo? I use serveral repos with "dozens or hundreds or thousands of > modules" and it isn't "generally pisses [me] off". Because you don't use tags much, or the read-only repos you use have fully populated val-tags. > Please explain in more detail. There are three possible scenarios: a) The tag you're asking for is in val-tags. No sweat. CVS scans all the files you're asking it to operate on, and does whatever you asked it to do. b) The tag you're asking for exists, but isn't in val-tags. CVS will scan all the files you're asking it to operate on, looking for the tag - and it won't stop at the first hit. It will then add the tag to val-tags (if possible) and go to a), or fail because val-tags isn't writeable. Note that CVS processes every file twice - once to see if it has the tag, and once to actually perform the requested operation. c) The tag you're asking for does not exist. CVS will scan all the files you're asking it to operate on, and give you an error message. Without val-tags, these three cases become: a) No difference. b) Go directly to a), scanning each file once rather than twice, and don't fail if the repo is read-only. c) Try to do whatever you asked it to do, and fail. So val-tags adds no value whatsoever in cases a) and b), and actually pessimizes case b) (which I encounter often enough to be *really* pissed off at val-tags). It all hinges on case c), so let's take a closer look at it. The idea with case c) is that CVS should be able to tell you that none of the files you asked it to operate on have the tag you specified. But: - That may be intentional. Maybe you're 'cvs up'ing to a nonexistent tag in order to quickly and cleanly remove all unmodified files in your tree. - You'd find out quickly enough anyway, at very little or no expense; if you typed 'cvs up -rRELEN_4' by mistake, you'll very quickly realize you've done something wrong, as CVS starts removing all unmodified files, and you can recover by aborting and restarting the command with the correct tag; you won't have lost anything. - When operating on portions of the tree, val-tags can give false positives because the tag you asked for exists in another part of the tree. To summarize, val-tags saves a little time in a small number of cases, is useless in most cases, and outright harmful in many common cases. And all this is a waste of my time; rather than ask why I want it removed, you should accept that I (and many others) consider it an incredible nuisance, and focus instead on explaining how *you* benefit from it, so we can understand why you're opposed to my patch. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpit8013n6.fsf>