"Cameron, Steve" wrote:
>
> 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.)
Hmm ... while that might be the design intent my observations are that even
this is broken:
pw.notus.1783> cvs -n update
? .d
? ghr
? ghr_add
? ghr_app_test
? ghr_app_test_db
? ghr_db_test
? ghr_dbtool
? ghr_dump
? ghr_test
? ghr_change
? ghr_test_hlr_id_search
? ghr_delete
? ghr_gen_hlr_sub
? ghr_query
? ghr_report
? ghr_update_sub
? ghr_verify
? ghr_load_db_data
? ghr_db_convert
? ghr_comp_test
? ghr_db_test_comp
cvs server: Updating .
pw.notus.1784> cvs diff -r HEAD|egrep diff
cvs server: Diffing .
diff -r1.4 -r1.2
cvs server: ghr_command.c no longer exists, no comparison available
diff -r1.10 -r1.9
diff -r1.3 -r1.2
cvs [diff aborted]: cannot open CVS/Root: Permission denied
pw.notus.1785> III
pw.notus.1785> pwd
pw.notus.1785> cvs diff -r b_V3_3_enh
? .d
? ghr
? ghr_add
? ghr_app_test
? ghr_app_test_db
? ghr_db_test
? ghr_dbtool
? ghr_dump
? ghr_test
? ghr_change
? ghr_test_hlr_id_search
? ghr_delete
? ghr_gen_hlr_sub
? ghr_query
? ghr_report
? ghr_update_sub
? ghr_verify
? ghr_load_db_data
? ghr_db_convert
? ghr_comp_test
? ghr_db_test_comp
cvs server: Diffing .
cvs server: ghr_command.c no longer exists, no comparison available
cvs [diff aborted]: cannot open CVS/Root: Permission denied
pw.notus.1786>
If what you are saying is true then the diff -r HEAD should produce no
output - or is it me that is confused?
>
> 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
--
Peter Wolfe Tel: (604) 303-2300
Telos Engineering Limited, http://www.telostech.com
120 - 13120 Vanier Place, FAX: (604) 276-0501
Richmond, BC, V6V 2J2. email: [EMAIL PROTECTED]