views:

1399

answers:

6

My company using VSS and Visual Studio 2005 (soon 2008). They want to switch to CVS but the developers don't want to loose the integration we get with VSS and Visual Studio.

I know there are CVS plug ins but what functional, if any, is lost with CVS?

+8  A: 

If you're going to switch, why not switch to something better? CVS is a long way from state of the art in version control. A more modern system like Subversion or Vault not only offers better features, but it will get you better Visual Studio integration as well.

Chris Upchurch
at least upgrade, lateral movement not gonna do you any good, I agree with chris
DevelopingChris
I hate to bash CVS, but DON'T switch to CVS. No! On the other hand, it IS better than SourceSafe. If you're going through the pain, do what Chris suggests.
Richard Morgan
A: 

Try SVN or TFS.

Nick Berardi
+6  A: 

Hair pulling, screaming at VSS for lost source code, etc. Seriously though, it is a very different model (optimistic locking) so you will probably lose some productivity for the first little while. I would probably look at using TortoiseCVS and "Open Folder In Windows Explorer" right-click or the Visual Studio Explorer plug-in rather than a CVS plug-in if you are using Visual Studio 2008 (all of the CVS plug-ins I have tried have had either serious functionality issues, or serious stability issues).

VSS is really a terrible source control system, and moving to a modern style (optimistic locking) Source control system will be a huge boon in the long run. You might want to skip the 90's all together though and move to Subversion/Git/Mercurial and get into the 00's.

Kris Erickson
A: 

My hack is as follows:

I am mainly a Java developer and I use Eclipse/RAD. The support for CVS is great and is very easy to work with.

For the C# work I do I tried to find a CVS plugin for Visual Studio but was unhappy with the one I found. In the end, I decided to use Eclipse to handle the versioning of my C# projects.

The procedure:

  1. Create a simple project in Eclipse
  2. Open VS and save the project into the directory created by Eclipse
  3. Return to Eclipse, press F5 to refresh the project
  4. Share the project (i.e. add to CVS)
  5. Add .sln to the list of externally handled files in the Eclipse settings
  6. VS can now be opened directly from Eclipse by clicking the .sln file, the project can be worked on within VS. Upon exit from VS the project must be refreshed in Eclipse and can be synchronised with CVS

Although I have not yet used the Subversion plugin, I guess that would work in a similar way.

This solution works well for me especially as I spend most my time in Eclipse anyway.

I did try using TortoiseCVS but found it tricky to use. Eclipse is free and the CVS interface is very usable.

paul
A: 

VS have a bad integration inside the IDE for CVS/SVN. Those free one doesn't work well. I use Tortoise (outside VS) and it works fine. If you want something inside VS, you might check for not free plugin or to use TFS.

Daok
A: 

If you must switch to cvs (svn or a distributed vcs would be better) then the script we used to migrate and keep the change history can be found here

We are very happy with cvs, although we don't use Visual Studio integration as we find TortoiseCVS and SmartCVS much better. However if I was switching now I would look at Git or Mercurial

David Sykes