Broad picture: I'm used to executing "cvs di -r{BASE,HEAD}" before "cvs up", so that I know what's coming. (This shows the progress in the repository, ignoring my local changes.) But this command suddenly failed. Details: It turns out that the failure is caused by a "locally removed" file. If I remove file "foo" in my checkout, then cvs diff -r BASE -r other-tag foo (or cvs diff -r1.1 -rBASE foo) fails. It should compare the two remote versions, no matter that the local copy has been deleted. A log: $ rpm -q cvs cvs-1.11.22-9.fc7 $ cvs rm gdb-6.5-bz198365-IPv6.patch $ cvs status gdb-6.5-bz198365-IPv6.patch =================================================================== File: no file gdb-6.5-bz198365-IPv6.patch Status: Locally Removed Working revision: -1.1 Repository revision: 1.1 /cvs/extras/rpms/gdb/devel/gdb-6.5-bz198365-IPv6.patch,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: -kb $ cvs -n -t diff -r{BASE,1.1} gdb-6.5-bz198365-IPv6.patch -> main loop with CVSROOT=:ext:user.redhat.com:/cvs/extras -> Starting server: ssh -l user cvs.fedora.redhat.com cvs server cvs [diff aborted]: received abort signal S-> RCS_checkout (/cvs/extras/rpms/gdb/devel/gdb-6.5-bz198365-IPv6.patch,v, -1.1, , -kb, /tmp/cvslBojVt) cvs: rcs.c:4136: RCS_checkout: Assertion `rev == ((void *)0) || ((*__ctype_b_loc ())[(int) (((unsigned char) *rev))] & (unsigned short int) _ISdigit)' failed. S-> Lock_Cleanup() -> Lock_Cleanup() -> Lock_Cleanup() The client should never ask the server to send version "-1.1".
Package Change Request ====================== Package Name: [Updated Fedora Owners: jmoskovc]
Package Change Request ====================== Package Name: cvs Updated Fedora Owners: jmoskovc
Created attachment 160224 [details] Proposed patch
Fixed in rawhide.