bugConcurrent Versions System - Bugs: bug #15411, Removing a file on a branch...


bug #15411: Removing a file on a branch reports it as being removed on the head in cvs history

Submitted by:  None
Submitted on:  Mon 09 Jan 2006 05:42:04 PM UTC  
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: Larry Jones <scjones>
Open/Closed: ClosedRelease: 
Fixed Release: 1.11.22Fixed Feature Release: 1.12.14

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Mon 09 Jan 2006 05:42:04 PM UTC, original submission:

If I remove a file on a branch, cvs history shows R and the version of the latest version on the trunk - not the revision removed on the branch.

Example transcript:

cr@badger:/tmp/cvs-wd/branch/test$ cvs --version

Concurrent Versions System (CVS) 1.11.21 (client/server)

Copyright (C) 2005 Free Software Foundation, Inc.

Senior active maintainers include Larry Jones, Derek R. Price,
and Mark D. Baushke. Please see the AUTHORS and README files from the CVS
distribution kit for a complete list of contributors and copyrights.

CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.

Specify the --help option for further information about CVS
cr@badger:~$ cd /tmp
cr@badger:/tmp$ mkdir cvs-repo
cr@badger:/tmp$ cd cvs-repo/
cr@badger:/tmp/cvs-repo$ CVSROOT=`pwd`
cr@badger:/tmp/cvs-repo$ cvs init
cr@badger:/tmp/cvs-repo$ mkdir test
cr@badger:/tmp/cvs-repo$ cd ..
cr@badger:/tmp$ mkdir cvs-wd
cr@badger:/tmp$ cd cvs-wd
cr@badger:/tmp/cvs-wd$ cvs co test
cvs checkout: Updating test
cr@badger:/tmp/cvs-wd$ cd test/
cr@badger:/tmp/cvs-wd/test$ cvs
cr@badger:/tmp/cvs-wd/test$ echo main-1 > file
cr@badger:/tmp/cvs-wd/test$ cvs add file
cvs add: scheduling file `file' for addition
cvs add: use 'cvs commit' to add this file permanently
cr@badger:/tmp/cvs-wd/test$ cvs ci -m 'Main 1' file
RCS file: /tmp/cvs-repo/test/file,v
Checking in file;
/tmp/cvs-repo/test/file,v <-- file
initial revision: 1.1
cr@badger:/tmp/cvs-wd/test$ cvs tag -b branch file
T file
cr@badger:/tmp/cvs-wd/test$ echo main-2 > file
cr@badger:/tmp/cvs-wd/test$ cvs ci -m "Main 2" file
Checking in file;
/tmp/cvs-repo/test/file,v <-- file
new revision: 1.2; previous revision: 1.1
cr@badger:/tmp/cvs-wd/test$ cd ..
cr@badger:/tmp/cvs-wd$ mkdir branch
cr@badger:/tmp/cvs-wd$ cd branch/
cr@badger:/tmp/cvs-wd/branch$ cvs co -rbranch test
cvs checkout: Updating test
U test/file
cd cr@badger:/tmp/cvs-wd/branch$ cd test
cr@badger:/tmp/cvs-wd/branch/test$ echo 'branch-1' > file
cr@badger:/tmp/cvs-wd/branch/test$ cvs ci -m "Branch 1"
cvs commit: Examining .
Checking in file;
/tmp/cvs-repo/test/file,v <-- file
new revision:; previous revision: 1.1
cr@badger:/tmp/cvs-wd/branch/test$ cvs remove -f file
cvs remove: scheduling `file' for removal
cvs remove: use 'cvs commit' to remove this file permanently
cr@badger:/tmp/cvs-wd/branch/test$ cvs ci -m "Branch dead"
cvs commit: Examining .
Removing file;
/tmp/cvs-repo/test/file,v <-- file
new revision: delete; previous revision:
cr@badger:/tmp/cvs-wd/branch/test$ cvs history
O 2006-01-09 17:32 +0000 cr [branch] test =test= /tmp/cvs-wd/branch/*
cr@badger:/tmp/cvs-wd/branch/test$ cvs history -a
O 2006-01-09 17:32 +0000 cr [branch] test =test= /tmp/cvs-wd/branch/*
cr@badger:/tmp/cvs-wd/branch/test$ cvs history -e
O 2006-01-09 17:31 +0000 cr test =test= /tmp/cvs-wd/*
A 2006-01-09 17:31 +0000 cr 1.1 file test == /tmp/cvs-wd/test
M 2006-01-09 17:32 +0000 cr 1.2 file test == /tmp/cvs-wd/test
O 2006-01-09 17:32 +0000 cr [branch] test =test= /tmp/cvs-wd/branch/*
M 2006-01-09 17:32 +0000 cr file test == /tmp/cvs-wd/branch/test
R 2006-01-09 17:32 +0000 cr 1.2 file test == /tmp/cvs-wd/branch/test

Note the last line of history - it says we removed v1.2 of test/file, while cvs log of file shows that 1.2 is alive:

cr@badger:/tmp/cvs-wd/branch/test$ cvs log file

RCS file: /tmp/cvs-repo/test/file,v
Working file: file
head: 1.2
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 4; selected revisions: 4
revision 1.2
date: 2006/01/09 17:32:12; author: cr; state: Exp; lines: +1 -1
Main 2
revision 1.1
date: 2006/01/09 17:31:28; author: cr; state: Exp;
branches: 1.1.2;
Main 1
date: 2006/01/09 17:32:52; author: cr; state: dead; lines: +0 -0
Branch dead
date: 2006/01/09 17:32:42; author: cr; state: Exp; lines: +1 -1
Branch 1

- Chris Reed (cr@progress.com)



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.


Please enter the title of George Orwell's famous dystopian book (it's a date):



Follow 5 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Tue 10 Jan 2006 04:32:34 PM UTCscjonesStatusNone=>Fixed
  Assigned toNone=>scjones
  Fixed ReleaseNone=>1.11.22
  Fixed Feature ReleaseNone=>1.12.14

Back to the top

Powered by Savane 3.1-cleanup1