在工作中,一位主管经理让我研究将我的项目的当前源控制服务器(Visual Source Safe)更改为SVN可能带来的好处.
我真的没有任何反对SVN的东西,实际上我有点挖掘它,但我认为,改用SVN不会给项目带来任何重大好处,并会迫使我们使用一些第三方工具来管理来自Visual Studio的源代码控制(我们主要使用Microsoft工具开发).
所以,作为我研究的第一步,我问你:从VSS切换到SVN有什么好处?
SVN比VSS更受欢迎,并且具有很多优点.VSS陈旧且过时.
为什么不VSS
Visual SourceSafe:微软的源代码销毁系统
源代码管理:除了SourceSafe之外的任何东西
Visual SourceSafe版本控制:任何速度都不安全?
现在许多开发人员正在从VSS迁移到SVN.如果您要在Google中搜索"SVN"和"VSS",它会向您显示许多与VSS到SVN迁移相关的文章.
VSS的锁定 - 修改 - 解锁模型使快速变化的文件上的协作成为一个主要问题.加上需要管理员解锁某人在度假时检出的文件的开销.
使用VSS,这不是一个问题,你是否会丢失数据 - 它是什么时候.您的源存储库应该是一块石头 - 如果开发人员的工作站崩溃,您应该只丢失HIS更改.您不应该丢失存储库中的随机文件和数据
MS已经超过6年没有维护VSS了.你能不能再得到它的支持了吗?
如果只有一个人登录到服务器(这意味着他们将开发工具保持打开状态,或者让VSS客户端保持运行状态),则可能无法获得VSS存储库的完整备份,具体取决于您的备份工具.
VSS要求所有用户在文件系统级别(NTFS权限)几乎完全控制组成存储库的文件.
对于VSS而言,没有好的,可用的,易于获得的已发布的API,并且第三方工具在很大程度上是弱的.
合并糟透了VSS.
VSS:如果您的开发人员分布在多个时区,那么如果他们以错误的顺序过于靠近地检查,那么他们两人检查的行为都可能破坏数据库.
现在,这并不是说Subversion是完美的 - 当然它可以做得更好,而它根本不做的事情.但是所有使用VSS和SVN的人很可能永远不会回到VSS.
如果你选择SVN.以下是您可能需要的工具列表:
AnkhSVN是Visual Studio的Subversion SourceControl提供程序.
RapidSVN是一个跨平台的Subversion客户端.
TortoiseSVN是一款易于使用的Microsoft Windows SCM /源代码控制软件,可能是最好的独立Subversion客户端.
VisualSVN是一个Visual Studio插件,它将Subversion和TortoiseSVN与Visual Studio无缝集成.
VisualSVN Server是一个包,其中包含在Windows平台上为您的团队安装,配置和管理Subversion服务器所需的一切.它包括Subversion,Apache和管理控制台.
这是一本关于这个主题的好书:C Pilato的Subversion版本控制
版本控制与Subversion http://ecx.images-amazon.com/images/I/51iwjNGkQdL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg
VSS和SVN的另一个不错的替代品是SourceGear Fortress,除了源控制之外还有问题跟踪系统 - 一体化.或SourceGear Vault - 仅限源控件.还有SourceAnyWhere解决方案.如果您需要Microsoft解决方案而不是使用TFS而不是VSS.
微软承认从未在任何内部项目中使用VSS(现在无法找到引用:/).我用它两年,这是愚蠢的坏.数据库每周至少损坏一次.
此外,我最喜欢引用VSS用户的一件事是Eric Wadworth的页面上的第一个引用,据报道来自微软的某个人:
"Visual SourceSafe? It would be safer to print out all your code, run it through a shredder, and set it on fire."
绝对适合SVN.VSS就像是1000个恶魔的噩梦.
考虑一个更现代的工具,如Git,Mercurial或Darcs.有很多优点,我会将谷歌搜索作为练习留给读者.
我们使用SVN工作,并使用正确的文档,正确的客户端和工具,这是一个快速 - 到目前为止,它是高度可靠的工作.在VSS过去10年后,我可以说我不会错过它.
我非常喜欢SVN,我写了一篇关于我认为最有价值的客户(有些不是)和其他工具的评论.这是一篇新文章,因此非常及时:http://codertools.wordpress.com/2009/03/24/svn-subversion-clients-and-other-tools/
我会毫不犹豫地向任何人推荐SVN - GIT是我的列表中的下一个要看...希望这是有帮助的.