WARNING: the following post involves an old fart jumping up and down
and screaming, mostly at shitty documentation.


On Thu, Feb 24, 2011 at 11:54 PM, Ron McDowell <r...@fuzzwad.org> wrote:
> Otto Moerbeek wrote:
>> On Fri, Feb 25, 2011 at 08:28:42AM +0100, Otto Moerbeek wrote:
>>> On Fri, Feb 25, 2011 at 12:55:34AM -0600, Ron McDowell wrote:
>>>> Nick Holland wrote:
>>>>> On 02/24/11 20:15, Ron McDowell wrote:
>>>>>> System installed from a 4.8-amd64 CD today, then cvs-update to HEAD less
>>>>>> than an hour ago...

I'm sorry to say, but as soon as I read "update to HEAD" I recognized
the problem.  Namely, you have been mislead by "cvs":

"HEAD" DOES NOT MEAN WHAT YOU THINK IT DOES.

The pseudo-tag "HEAD" means "the most recent version ON THE CURRENT
STICKY BRANCH, IF ANY".


So, you do
   cvs update -rOPENBSD_4_8

That sets the sticky tag for your current directory and below to
"OPENBSD_4_8".  So, you then do
    cvs update -r HEAD

Congrats!  You just updated to the tip of the "OPENBSD_4_8" branch!
***NOT*** the tip of the trunk!

If you have an existing checkout and it has a sticky revision tag, the
*ONLY* ways to get it to the tip of the trunk are to either
a) use the -A option, or
b) remove the checkout and check it out again.


I've been using cvs for 17 years and, IMNSHO, the *ONLY* cvs
subcommand you should use the pseudo-tag "HEAD" with is "diff".

IF YOU DON'T UNDERSTAND IT, DON'T USE IT.

Also, consider going back and yelling at the people who taught you to
use -rHEAD with 'update', because they idiots.


>>>> and did a clean checkout with:
>>>> cvs -d anon...@anoncvs3.usa.openbsd.org:/cvs checkout -rHEAD -P src

Bad news number two: running "cvs checkout" in an existing cvs
checkout is the same as using "cvs update -d".  At least that trap is
documented in the manpage:

       checkout [options] modules...
                 Requires: repository.
                 Changes: working directory.
                 Synonyms: co, get
...
                 Running `cvs checkout' on a directory that was already built
                 by a prior checkout is also permitted, and has the same
                 effect as specifying the -d option to the update command
                 described below.


Philip Guenther

Reply via email to