[cvsnt] Bug with rdiff/update using commit identifier

Matt Schuckmann matthew_schuckmann at amat.com
Sat Apr 2 01:43:47 BST 2005


Given the file b.cpp, log shown below:

C:\builds\cvs_use_case\scripts>cvs rlog simple/b.cpp

RCS file: /CVSTestData/simple/b.cpp,v
head: 1.2
branch:
locks: strict
access list:
symbolic names:
        FIX1: 1.2.0.2
        BLD2: 1.2
        BLD1: 1.1
keyword substitution: kv
total revisions: 4;     selected revisions: 4
description:
----------------------------
revision 1.2
date: 2005/04/01 23:58:27;  author: mschuck;  state: Exp;  lines: +3 -2;
kopt:
kv;  commitid: 6d4424de01e091e;  filename: b.cpp;
branches:  1.2.2;
Made some simple edits to the trunch of the simple project.
----------------------------
revision 1.1
date: 2005/04/01 23:58:10;  author: mschuck;  state: Exp;
Initial checkin of simple CVS test project.
----------------------------
revision 1.2.2.2
date: 2005/04/02 00:10:40;  author: mschuck;  state: Exp;  lines: +2 -4;
kopt:
kv;  commitid: 6d4424de2fa1275;  mergepoint: 1.1;  filename: b.cpp;
Undoing revisions from commit id $1
----------------------------
revision 1.2.2.1
date: 2005/04/01 23:59:03;  author: mschuck;  state: Exp;  lines: +2 -1;
kopt:
kv;  commitid: 6d4424de0420994;  filename: b.cpp;
Committing some bad code, that I'll want to undo.
============================================================================
=


It appears that the wrong thing is done when I do a rdiff like so:

C:\builds\cvs_use_case\scripts>cvs rdiff -kk -r "@6d4424de0420994"  -r
"@<6d4424de0420994" simple
cvs server: Diffing simple
Index: simple/b.cpp
diff -c simple/b.cpp:1.2.2.1 simple/b.cpp:1.1
*** simple/b.cpp:1.2.2.1        Fri Apr  1 16:23:08 2005
--- simple/b.cpp        Fri Apr  1 16:23:08 2005
{Actuall diff removed for brevity}

It should have selected version 1.2.2.1 and 1.2.

This problem also appears to effect update with the following command.

C:\builds\cvs_use_case\simple>cvs update -kk -j "@6d4424de0420994" -j
"@<6d4424de0420994"
cvs server: Updating .
U a.cpp
U b.cpp
RCS file: /CVSTestData/simple/b.cpp,v
retrieving revision 1.2.2.1
retrieving revision 1.1
Merging differences between 1.2.2.1 and 1.1 into b.cpp

Maybe it has something to do with the fact that the previous version of
b.cpp is not on the branch.

Is this a bug or am I missing something?

I'm using cvsnt client and server 2.5.01 1910

Matt S.





More information about the cvsnt mailing list