Bug 242049 - "cvs diff -r BASE -r other-tag deleted_file" fails
Summary: "cvs diff -r BASE -r other-tag deleted_file" fails
Alias: None
Product: Fedora
Classification: Fedora
Component: cvs   
(Show other bugs)
Version: rawhide
Hardware: All Linux
Target Milestone: ---
Assignee: Jiri Moskovcak
QA Contact: Ben Levenson
Depends On:
TreeView+ depends on / blocked
Reported: 2007-06-01 13:37 UTC by Stepan Kasal
Modified: 2015-02-01 22:47 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-08-23 08:01:27 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
wtogami: fedora-cvs+

Attachments (Terms of Use)
Proposed patch (586 bytes, patch)
2007-07-30 08:58 UTC, Jiri Moskovcak
no flags Details | Diff

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.

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)

It should compare the two remote versions, no matter that the local copy has
been deleted.

A log:

$ rpm -q cvs
$ 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    
   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@cvs.fedora.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@redhat.com]

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

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.

Note You need to log in before you can comment on or make changes to this bug.