Bug 242049

Summary: "cvs diff -r BASE -r other-tag deleted_file" fails
Product: [Fedora] Fedora Reporter: Stepan Kasal <kasal>
Component: cvsAssignee: Jiri Moskovcak <jmoskovc>
Status: CLOSED RAWHIDE QA Contact: Ben Levenson <benl>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: dfediuck
Target Milestone: ---Flags: wtogami: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-08-23 08:01:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Proposed patch none

Description Stepan Kasal 2007-06-01 13:37:48 UTC
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".

Comment 1 Jiri Moskovcak 2007-07-09 12:32:34 UTC
Package Change Request
======================
Package Name: 
[Updated Fedora Owners: jmoskovc]

Comment 2 Jiri Moskovcak 2007-07-09 12:40:58 UTC
Package Change Request
======================
Package Name: cvs
Updated Fedora Owners: jmoskovc

Comment 3 Jiri Moskovcak 2007-07-30 08:58:04 UTC
Created attachment 160224 [details]
Proposed patch

Comment 4 Jiri Moskovcak 2007-08-23 08:01:27 UTC
Fixed in rawhide.