Debian Bug report logs - #369870
cvs: phantom revisions with bogus date on branch on file resurection

version graph

Package: cvs; Maintainer for cvs is Thorsten Glaser <[email protected]>; Source for cvs is src:cvs (PTS, buildd, popcon).

Reported by: Yann Dirson <[email protected]>

Date: Thu, 1 Jun 2006 21:48:01 UTC

Severity: important

Tags: moreinfo, upstream

Found in version cvs/1:1.12.13-2

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Steve McIntyre <[email protected]>:
Bug#369870; Package cvs. (full text, mbox, link).


Acknowledgement sent to Yann Dirson <[email protected]>:
New Bug report received and forwarded. Copy sent to Steve McIntyre <[email protected]>. (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Yann Dirson <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: cvs: phantom revisions with bogus date on branch on file resurection
Date: Thu, 1 Jun 2006 23:47:13 +0200
Package: cvs
Version: 1:1.12.13-2
Severity: important
Tags: upstream

First observed with & 1.12.12 on gentoo on a live repo, reproduced on
sid with the below script.  It does not exist in current etch
(1.12.9-17).

As you see, a phantom commit is added prior to the resurecting commit
on the branch, and it has the same timestamp as the its dead base
revision on the trunk.

In the logs I had from real repositories with 1.12.12, the "lines"
attribute for the phantom revision was a mirror of the revision
following it, reflecting no reality at all (would have been "+0 -1"
here).  There is no mention of such a bugfix in the cvs NEWS file, but
who knows.

I found no mention of such a feature in the 1.12.9-13 entries in the
CVS NEWS file, so I doubt that is an intended behaviour.


The bogus date confuses tools trying to make sense out of cvs log data
(cvsps, namely).  At least this date issue must be solved upstream
asap, as it will cause problems for users trying to migrate their
repositories to another SCM.


==== script
#!/bin/sh
set -e

# setup repo and working area
cvs -d $PWD/root init
mkdir root/test
cvs -d $PWD/root co test
cd test

# trunk
touch file1 file2
cvs add file1 file2
cvs ci -m "add files"
sleep 2

rm file1
cvs rm file1
cvs ci -m "rm file1"
sleep 2

cvs tag A

# branch based on trunk
cvs tag -b A_HEAD
cvs up -r A_HEAD -P
echo "stuff and more stuff" >file1
cvs add file1
cvs ci -m "work"
sleep 2

cvsps --norc -x -A
==== cvs log file1
----------------------------
revision 1.2
date: 2006-06-01 23:12:21 +0200;  author: dwitch;  state: dead;  lines: +0 -0;  commitid: GyCIctKzKqKVwlzr;
branches:  1.2.2;
rm file1
----------------------------
revision 1.1
date: 2006-06-01 23:12:17 +0200;  author: dwitch;  state: Exp;  commitid: j1zLyPu2Bw6Uwlzr;
add files
----------------------------
revision 1.2.2.2
date: 2006-06-01 23:12:23 +0200;  author: dwitch;  state: Exp;  lines: +1 -0;  commitid: D3Fd6f9Wz8cWwlzr;
work
----------------------------
revision 1.2.2.1
date: 2006-06-01 23:12:21 +0200;  author: dwitch;  state: dead;  lines: +0 -0;  commitid: D3Fd6f9Wz8cWwlzr;
file file1 was added on branch A_HEAD on 2006-06-01 21:12:23 +0000
====

-- 
Yann Dirson    <[email protected]> |
Debian-related: <[email protected]> |   Support Debian GNU/Linux:
                                    |  Freedom, Power, Stability, Gratis
     http://ydirson.free.fr/        | Check <http://www.debian.org/>



Information forwarded to [email protected], Steve McIntyre <[email protected]>:
Bug#369870; Package cvs. (Fri, 06 May 2011 21:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Thorsten Glaser <[email protected]>:
Extra info received and forwarded to list. Copy sent to Steve McIntyre <[email protected]>. (Fri, 06 May 2011 21:45:03 GMT) (full text, mbox, link).


Message #10 received at [email protected] (full text, mbox, reply):

From: Thorsten Glaser <[email protected]>
To: [email protected]
Subject: cvs: phantom revisions with bogus date on branch on file resurection
Date: Fri, 6 May 2011 21:33:36 +0000 (UTC)
I think this is by design (be happy resurrecting works for you at all…
it sometimes still doesn’t for me…) but let’s see what upstream says.

The date isn’t bogus, though?


tg@blau:~/xx/test $ cvs log file1

RCS file: /home/tg/xx/root/test/Attic/file1,v
Working file: file1
head: 1.2
branch:
locks: strict
access list:
symbolic names:
        A_HEAD: 1.2.0.2
keyword substitution: kv
total revisions: 4;     selected revisions: 4
description:
----------------------------
revision 1.2
date: 2011-05-06 21:29:28 +0000;  author: tg;  state: dead;  lines: +0 -0;  commitid: 1004DC4685041586DF4;
branches:  1.2.2;
rm file1
----------------------------
revision 1.1
date: 2011-05-06 21:29:25 +0000;  author: tg;  state: Exp;  commitid: 1004DC4684D7D24C02D;
add files
----------------------------
revision 1.2.2.2
date: 2011-05-06 21:29:30 +0000;  author: tg;  state: Exp;  lines: +1 -0;  commitid: 1004DC46852669B677F;
work
----------------------------
revision 1.2.2.1
date: 2011-05-06 21:29:28 +0000;  author: tg;  state: dead;  lines: +0 -0;  commitid: 1004DC46852669B677F;
file file1 was added on branch A_HEAD on 2011-05-06 21:29:30 +0000
=============================================================================




Added tag(s) moreinfo. Request was from Thorsten Glaser <[email protected]> to [email protected]. (Sat, 11 Jun 2011 15:27:08 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 12:50:08 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.