Greg Woods wrote:
        [smc]  [...] 
> > 
> >     My view of it was that currently HEAD appears to mean the head
> >     of the trunk, with the one exception being that "cvs diff" treats it
> >     differently.  So my reasoning was to "fix" that one excetption, is
> all.
> 
> The question is how many times have you ever used "HEAD", and how many
> times with "cvs diff" and how many times with other commands?
        [smc]  Well, a bug is a bug, whether you ever trip over it or not,
'specially
        when the bug is easy to fix.

> I mostly use it with "cvs diff" and I've been very annoyed when it
> doesn't work the same way with "cvs log",
> 
        [smc]  Ok, then I have just the fix for you, I've posted it before.

        Either interpretation of HEAD is pretty simple to code, _if I'm
right_.
        Just a matter of calling rcs_head() or rcs_branch_head() for the
"HEAD"
        specific code.  Whatever way it's done, it ought to be consistent,
the 
        smallest change to make it consistent is to change "cvs diff".
Changing
        all the other usages of HEAD to match how "cvs diff" does it isn't
hard
        either though.  But, having it inconsistent is a bug, and even if I
don't ever
        use HEAD I still want the bug fixed. 

        If somebody is interested, I can try to make a version of my patch
that
        makes HEAD work as it does for "cvs diff" in all the other cases.  I
don't
        think it's very hard.  (Hardest part will probably be fixing
sanity.sh...)

        [...] 

> Placing special emphasis on the meaning of the trunk makes lots and lots
> of sense in SCCS, less sense in RCS, and much less sense in CVS 
        [smc]  Yes, you're right.  but to make the user interface,
more...orthogonal,
        if that's the right word, it would be nice if the trunk had a name
that behaved
        exactly as a branch tag does, but referred to the trunk.  Well, of
course this
        is not what HEAD is, even if it were consistent, since it's not a
branch tag 
        and you can't commit to it.    What I'm trying to say is if you had
a name for
        the trunk which behaved just like a branch tag, but meant the trunk,
then
        this would lessen the difference between the trunk and branches, and
place
        less emphasis on the meaning of the trunk... The trunk would then be
less special
        in that there would be one less difference between the trunk and
other 
        branches, since the trunk would then have a branch-tag name, just
like
        all other branches.

        You might achieve this _effect_, by a method I've mentioned before,
        by having a branch you called TRUNK, and just ignoring the real
trunk, but,
        then you run (eventually) into the problem that on branches, it will
take
        more and more time to compute the most recent revisions since the
deltas
        are applied forwards in time, instead of backwareds in time as they
are
        on the trunk...(if that makes sense..)  Merging back to the real
trunk now
        and then could alleviate that though, I suppose, but it's extra work
that
        shouldn't be necessary.  And I don't know how this would fit in with
        vendor branches, since I don't use them and haven't studied how they
        work.

        But I'm rather off topic, as I don't really know how to implement
this,
        whereas I think I do know how to make HEAD consistent at least.

         [...]
>  > > Having a symbolic name for "TRUNK"
> > > isn't necessarily a bad thing, but it does crowd the tag namespace
> > > unnecessarily.  If you really want to use it then why not just
> manually
> > > add a real "TRUNK" tag and be done with it? 
> >
> >     [smc]  How do you do that?
        [...]
> You don't really want it to be a CVS
> magic branch tag but rather just the real RCS trunk branch identifier.
        [smc]  Oh...I thought you meant you had some way to make a name for
        the trunk as I described above.  Tagging the trunk, while useful,
isn't as
        ideal, to my mind, as a real branch-tag name that means the trunk.

Reply via email to