Vinod,
Please
note: it is not possible to 'convert' from any version control system to
another. Each tool like VSS, CVS, CVSNT, PVCS, ClearCase exists because
there is a market for it - they each had particular design goals in mind when
the systems were built and they each have different strengths and
weaknesses. In particular one version control system cannot be exchanged
for another without also changing how your software configuration management
processes work (and possibly your project management, QA, and several other
business processes).
Some
people think that all version control systems are identical and that a company
can switch between them -- if this were true there would be one tool and lots of
different 'brandings' - but that is not the case. Also lots of people do
not account for the cost of their software systems and the impact on their
business systems. There was a great article on the valuation
of IT assets published in The Financial Times UK Edition 36,501 on Monday
October 1 2007, and I believe the author will be releasing the complete
whitepaper soon. Basically it talks about the lack of business cases for the
benefit of software and also the business case for maintaining legacy assets.
The costs of replacing software like VSS for CVS/CVSNT are astronomical and
rarely worth it to the business, except perhaps that techie employees who like
playing with the latest gadgets are less likely to leave that week/month for
some other company, thereby reducing employee
turnover.
Of
course VSS could be considered a 'special case' since a) it is no longer
developed and b) has a history of technical problems such as corruption of
repositories. However it's still well worth being aware of the full cost
of your 'conversion' and also understanding the wider
impacts.
Finally VSS implements a specific model of SCM best characterised as
'reserved centralised' which CVS does not support (but CVSNT does with the
correct implementation and configuration). Switching from 'reserved
centralised' to 'unreserved distributed' (which is the CVS model and default
CVSNT model) makes for a very differrent user experience and also requires a
different kind of project management. Sucking out your VSS repo and
putting it in CVS/CVSNT will not magically fix your user expectations or
business systems.
The
only VSS to CVSNT 'suck and spit' converter I know of is this one which was
written by a contributor to the CVSNT project:
Visual
Source Safe to CVS Converter
:pserver:anon...@vss2cvs.cvs.sourceforge.net:/cvsroot/vss2cvs
Be sure to post CVSNT questions to the CVSNT
newsgroup.
Regards,
Arthur Barrett