[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVSNT versus CVS

From: address@hidden
Subject: CVSNT versus CVS
Date: Wed, 9 Jul 2008 15:21:46 -0500

I have been involved in converting our source code repository in Visual Source Safe (VSS) to CVS and would like to share my experiences. In the process, I did find one difference in the format of ",v" files about which I have a question. Below is a summary of what I did and I would appreciate feedback/responses to my query.
Entire source code tree of one of our projects has been maintained in VSS and it was decided to use CVS as the version control system as we move to production and continue our work. It was important not to lose developmental history (old versions, labels) in VSS. VSS database instance was loaded onto my local m/c (Windows XP). CVS server was on Linux and was CVS 1.11.2.
After researching on internet about user experiences in this kind of activity, I decided to use 'VSS2CVS' application from
which is a C# application on .NET platform. It connects to the VSS database using Microsoft's OLE interface for VSS and generates a local CVS repository. I used CVSNT as my local CVS server. Once I performed the conversion, on my local machine, I checked out from local repository and compared with latest version from VSS and verified that the conversion was faithful for all files, including binary files.
Since the ultimate destination was CVS 1.11.2 on the CVS server, I zipped the CVSROOT folder, including all the ",v" files and installed them on CVS server. When I repeated the comparison exercise above, it failed for several binary files. I discovered that this was because RCS keyword expansion was happening for these binary files. Upon further investigation, in CVSNT, in the ",v" files, 'kopt -b' is indicative and prevents keyword substitution upon checkout, whereas, in CVS 1.11.2, 'expand @b@;' in the header section was is what is indicative of binary file. See below:
head 1.1
locks; strict;
comment @# @;
date     2008.;          author   xxx;         state Exp;
next      ;
deltatype   text;
kopt    b;
permissions         666;
commitid             ...;
filename              ...;
The same file in CVS 1.11.2 is
head 1.1;
locks; strict;
comment @# @;
expand   @b@;
date ..
Can someone throw some light on the change in this file format? Apart from this what other changes are there in the ",v" file format between CVSNT and CVS? Is the CVSNT format matching the format in later versions of CVS (say 1.11.12 or 1.12.13 etc)?
Vinod Damaraju

reply via email to

[Prev in Thread] Current Thread [Next in Thread]