[cvsnt] Incompatibility with "plain" CVS server?

Johan Holmberg holmberg at iar.se
Sat Feb 5 08:29:27 GMT 2005


Hi!

I suspect that I have found a compatibility problem between CVSNT as a
client, and a "plain" CVS server. I asked the following questions
first on the TortoiseCVS mailing list, but was asked to repost it here
since it probably has to do with CVSNT rather than TortoiseCVS itself.

/Johan Holmberg

----------------------------------------------------------------------
 Date: Fri, 4 Feb 2005 14:36:02 +0100 (MET)
 To: tortoisecvs-users at lists.sourceforge.net
 Subject: Incompatibility with "plain" CVS server?

Hi!

We are using TortoiseCVS on our Windows clients (XP) and a "plain" 
CVS server running on a UN*X server.

Until recently I have believed that TortoiseCVS (using CVSNT under 
the hood) was compatible with "plain" CVS, and that this setup would 
work.

But right now I have some archive files on my CVS server that can't 
be checked out under certain circumstances. I believe this is caused 
by the CVS client (TortoiseCVS and/or CVSNT). Somehow the client has 
managed to store information on the server, that later can't be 
processed in a correct way (probably be the server).

On my XP box I do:

     $
     $ cvs co -rMY_BRANCH -d SOME_DIR MODULE_NAME
     U SOME_DIR/file1
     U SOME_DIR/file2
     ...
     Assertion failed: rev == NULL || isdigit ((unsigned char) *rev), \
                       file rcs.c, line 4123
     cvs [checkout aborted]: received abort signal
     $

I think this error is caused by the following line in one of the RCS
files on the server:

     head    1.1;
     access;
     symbols
 	    MY_BRANCH:_H_:1.1.0.2;           <--- note the "_H_"
     locks; strict;
     comment @// @;


I don't know what this extra ":_H_:" sequence means. I searched the
CVSNT sources for "_H_" and found that several such changes were
applied between version 2.0.42 and 2.0.43.

As far as I know the ":_H_:" is *not* allowed in the RCS format.
That would explain my crash, when my "plain" CVS server tries to
process the RCS archive file.

I have tried to ask the developer using TortoiseCVS what sequence of 
operations he did, but I have not found out the exact circumstances 
when the ":_H_:" is written to the server. We suspect it has to do 
with merging to/from the branch.

I would like to hear the opinion of others about this problem.
I'm afraid it is a real incompatibility between TortoiseCVS/CVSNT and a
"plain" CVS server, and that it makes it impossible to run such a
setup.

Is it as serious as I think?

/Johan Holmberg




More information about the cvsnt mailing list