<p>My company is using <a href="http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe" rel="nofollow noreferrer">Visual SourceSafe</a> (VSS) and Visual Studio 2005 (soon 2008). They want to switch to <a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System" rel="nofollow noreferrer">CVS</a>, but the developers don't want to lose the integration we get with VSS and Visual Studio.  </p>

<p>I know there are CVS plugins, but what functionality, if any, is lost with CVS?</p>

[{'answer_id': 52456, 'author': 'Chris Upchurch', 'author_id': 2600, 'author_profile': 'https://Stackoverflow.com/users/2600', 'pm_score': 3, 'selected': False, 'text': "<p>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.</p>\n"}, {'answer_id': 52466, 'author': 'Kris Erickson', 'author_id': 3798, 'author_profile': 'https://Stackoverflow.com/users/3798', 'pm_score': 4, 'selected': True, 'text': '<p>Screaming at VSS for lost source code, etc. Seriously though, it is a very different model (<a href="http://en.wikipedia.org/wiki/Optimistic_replication#Examples" rel="nofollow noreferrer">optimistic locking</a>), so you will probably lose some productivity for the first little while. I would probably look at using <a href="http://en.wikipedia.org/wiki/TortoiseCVS" rel="nofollow noreferrer">TortoiseCVS</a> and "Open Folder In Windows Explorer" right-click or the <a href="http://www.mindscape.co.nz/blog/?p=199" rel="nofollow noreferrer">Visual Studio Explorer</a> 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).   </p>\n\n<p>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 1990s all together though and move to <a href="http://en.wikipedia.org/wiki/Apache_Subversion" rel="nofollow noreferrer">Subversion</a>/<a href="http://en.wikipedia.org/wiki/Git_%28software%29" rel="nofollow noreferrer">Git</a>/<a href="http://en.wikipedia.org/wiki/Mercurial" rel="nofollow noreferrer">Mercurial</a> and get into the 2000s. </p>\n'}, {'answer_id': 82804, 'author': 'paul', 'author_id': 11249, 'author_profile': 'https://Stackoverflow.com/users/11249', 'pm_score': 0, 'selected': False, 'text': '<p>My hack is as follows:</p>\n\n<p>I am mainly a Java developer and I use Eclipse/RAD. The support for CVS is great and is very easy to work with.</p>\n\n<p>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.</p>\n\n<p>The procedure:</p>\n\n<ol>\n<li>Create a simple project in Eclipse</li>\n<li>Open VS and save the project into the directory created by Eclipse</li>\n<li>Return to Eclipse, press <strong>F5</strong> to refresh the project</li>\n<li>Share the project (i.e. add to CVS)</li>\n<li>Add <strong>.sln</strong> to the list of externally handled files in the Eclipse settings</li>\n<li>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</li>\n</ol>\n\n<p>Although I have not yet used the Subversion plugin, I guess that would work in a similar way.</p>\n\n<p>This solution works well for me especially as I spend most my time in Eclipse anyway.</p>\n\n<p>I did try using TortoiseCVS but found it tricky to use. Eclipse is free and the CVS interface is very usable.</p>\n'}, {'answer_id': 82826, 'author': 'Patrick Desjardins', 'author_id': 13913, 'author_profile': 'https://Stackoverflow.com/users/13913', 'pm_score': 0, 'selected': False, 'text': '<p>Visual Studio has a bad integration inside the IDE for CVS and SVN. Those free ones don\'t work well. I use <a href="http://en.wikipedia.org/wiki/TortoiseSVN" rel="nofollow noreferrer">Tortoise</a> (outside Visual Studio), and it works fine. If you want something inside Visual Studio, you might check for not free plugin or to use <a href="http://en.wikipedia.org/wiki/Team_Foundation_Server" rel="nofollow noreferrer">TFS</a>.</p>\n'}, {'answer_id': 83205, 'author': 'David Sykes', 'author_id': 259, 'author_profile': 'https://Stackoverflow.com/users/259', 'pm_score': 1, 'selected': False, 'text': '<p>If you must switch to CVS (Subversion or a distributed VCS would be better) then the script we used to migrate and keep the change history can be found <a href="http://code.google.com/p/vsstocvs/" rel="nofollow noreferrer">here</a>.</p>\n\n<p>We are very happy with CVS, although we don\'t use Visual Studio integration as we find <a href="http://www.tortoisecvs.org/" rel="nofollow noreferrer">TortoiseCVS</a> and <a href="http://www.syntevo.com/smartcvs/index.html" rel="nofollow noreferrer">SmartCVS</a> much better. However if I was switching now I would look at <a href="http://en.wikipedia.org/wiki/Git_%28software%29" rel="nofollow noreferrer">Git</a> or <a href="http://en.wikipedia.org/wiki/Mercurial" rel="nofollow noreferrer">Mercurial</a>.</p>\n'}]
['https://Stackoverflow.com/questions/52447', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/-1/']