Issues Moving to CVS from VSS

We are considering moving from VSS to CVS but have run into some feature differences (i.e. sharing) that we currently rely on to distribute shared libraries to all dependant projects.

Our primary constraint is that we want to keep using VS.NET (specifically solution files) for development.

The two solutions we've come up with are: place the shared libraries (dlls) in well known locations and use relative paths to reference them. Or somehow integrate NAnt scripts into the local developer build process and build all the dependancies whenever the source changes.

I know this has been solved before as it is not specifically a CVS issues, but rather a shared library issue. Anyone have any suggestions?

4 Comments

  • I've been putting shared libraries into the project, so that the particular version I was using at a certain time is saved into the source code control system as well as code.

  • I agree -- I'm a big fan of putting the shared libraries under source control in the project that references them, so that your tags and branches are actually what you had at that point. I actually go one step further, and put my tools into source control as well, so that I can pull the entire environment down if I need to (say NAnt or NUnit are upgraded in a non-trivial way, and I change my build files. I should still be able to build version 0.1.12.193 three years later, right? - I do make an exception for VS.NET, as it's friggin' huge!)

  • I have done two migrations from VSS to CVS. I have put all shared dlls into a top level directory (i.e, ThirdParty directory) and added a file reference in the relative project to the shared dll.





    We have a fully integrated build process with CruiseControl.Net, CVS, Nant and Nunit. One of the major goals of the migration was not to introduce a new build process to developers. Therefore we take advantage of using a XSLT translation of the project files to nant build files. This allows developers to add references, files, .... and the build sytem will automatically pick it up. Currently in the HEAD on nant, is a solution task that will go one step beyond the XSLT solution. This task will read solution and project files and create the correct references,dependencies and content.





    I have also created a "NukeSourceSafe" console app that will rid of all sourcesafe residue in a project.





    Dave





  • If anyone knows the exact steps and tools to be used to convert VSS to CVS please let me know..It will be helpfull for those are tring for the same.

    Thanks in advance

Comments have been disabled for this content.