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