从Visual SourceSafe切换到CVS:Visual Studio中丢失了哪些功能?
我的公司正在使用Visual SourceSafe(VSS)和Visual Studio 2005(2008年很快)。他们想切换到CVS,但是开发人员不想失去我们与VSS和Visual Studio的集成。
我知道有CVS插件,但是CVS失去了什么功能(如果有)?
解决方案
回答
如果要切换,为什么不切换到更好的东西?在版本控制方面,CVS与最新技术相比还有很长的路要走。像Subversion或者Vault这样的更现代的系统不仅提供更好的功能,而且还可以使我们更好地与Visual Studio集成。
回答
对VSS尖叫,以获取丢失的源代码等。但是,严重的是,它是一个非常不同的模型(乐观锁定),因此我们可能会在头一会儿失去一些生产力。如果我们使用的是Visual Studio 2008(我拥有的所有CVS插件),我可能会看一下使用TortoiseCVS和"在Windows资源管理器中打开文件夹"或者Visual Studio Explorer插件而不是CVS插件。曾经遇到过严重的功能性问题或者严重的稳定性问题)。
VSS确实是一个糟糕的源代码控制系统,从长远来看,向现代风格(乐观锁定)的源代码控制系统发展将是一大福音。我们可能想要一起跳过1990年代,然后转到Subversion / Git / Mercurial,进入2000年代。
回答
我的骇客如下:
我主要是Java开发人员,并且使用Eclipse / RAD。对CVS的支持非常棒,并且很容易使用。
对于Cwork,我尝试为Visual Studio找到一个CVS插件,但对我发现的插件不满意。最后,我决定使用Eclipse处理Cprojects的版本控制。
步骤:
- 在Eclipse中创建一个简单的项目
- 打开VS并将项目保存到Eclipse创建的目录中
- 返回Eclipse,按F5刷新项目
- 共享项目(即添加到CVS)
- 将.sln添加到Eclipse设置中的外部处理文件列表中
- 现在可以通过单击.sln文件直接从Eclipse打开VS,可以在VS中处理该项目。从VS退出后,必须在Eclipse中刷新该项目,并且该项目可以与CVS同步
尽管我还没有使用Subversion插件,但我想它可以以类似的方式工作。
该解决方案对我来说效果很好,特别是因为我将大部分时间都花在Eclipse上。
我确实尝试过使用TortoiseCVS,但发现使用起来很棘手。 Eclipse是免费的,并且CVS接口非常有用。
回答
Visual Studio在CVS和SVN的IDE内集成度很差。那些免费的软件效果不佳。我使用Tortoise(在Visual Studio外部),并且工作正常。如果我们想在Visual Studio中使用某些工具,则可以检查是否有免费的插件或者使用TFS。
回答
如果必须切换到CVS(最好使用Subversion或者分布式VCS),则可以在此处找到用于迁移并保留更改历史记录的脚本。
我们对CVS感到非常满意,尽管我们不使用Visual Studio集成,因为我们发现TortoiseCVS和SmartCVS更好。但是,如果我现在要切换,我会看看Git或者Mercurial。