Deever, Chris C. wrote:

> When comparing a branch agaist the base trunk, I've noticed a scenario
> where
> WinCVS 1.1b13 (client) and CVS 1.10.6 (server) miss some of the
> differences
> in the base trunk.  In all developement branches, all changes are
> comitted.
> 
> When I go to the root directory of the base trunk and diff against the
> branch it finds all of the changes.  However, when I go the the root
> working
> directory of the branch and compare it to "HEAD" it finds all but two
> changes.
        [smc]  You are aware that "cvs diff" treats HEAD differently than
all other
        CVS commands, right?  "cvs diff" treats "HEAD" to mean the head
revision
        of the current branch (what you have checked out), if I recall
correctly, while 
        the other commands (notably "cvs update") treat HEAD to mean the
head 
        revision of the trunk  There's a test case for this in sanity.sh
that makes 
        sure it's so.  (it may be a feature, not a bug that you're seeing.)

        I wrote a patch some time ago to make "cvs diff" treat HEAD the same
as
        all the other cvs commands do, which is the only thing that really
makes 
        any sense as far as I'm concerned, but, there are other opinions on
that 
        topic.  

        I was involved in some talk of investigating making all other
commands treat
        HEAD the way that "cvs diff" does as an alternate, (at the time, I
thought it was just a matter
        of calling "RCS_branch_head" instead of RCS_head, but, that's not
really all
        there is to it because RCS_branch_head takes an extra parameter
which 
        cannot be known (in a way that I was able to figure out) in all the
places 
        that RCS_head is used.  And, it's not clear to me that trying to do
that is 
        not nonsensical, (to use the rare triple negative :-)

        This comes back to a discussion that's flared up on this list
occasionally
        lamenting the fact that there is no such thing as the equivalent of
a branch tag
        for the trunk.  (for a time it was thought that you could use "1"
for this,
        if I recall right, last time that came up, it was established that
it doesn't work in
        all cases.  And HEAD doesn't really work like a branch tag, not even

        considering its weirdness with "cvs diff")

        ....Anyway, if you search deja.com for subject "Alternate HEAD
patch"
        you'll find my patch, though perhaps not in the most convenient
form.
        That may make HEAD behave as you are expecting it to with "cvs diff"

        -- steve 

Reply via email to