首页 / 知识
关于版本控制:与CVS相比,使用SVN有哪些优势?
2023-04-11 14:48:00

What are the advantages of using SVN over CVS?我的公司正在使用CVS作为我们事实上的源代码控制标准。但是,我听到很多人说SVN更好。 我知道SVN较新,但除此之外,我不了解它的好处。 我正在寻找的是两个系统的简洁明了的比较,并指出了在Java / Eclipse开发环境中每个系统的优缺点。 CVS仅按文件跟踪修订,而SVN则将整个提交作为新修订进行跟踪,这意味着更容易跟踪项目的历史记录。再加上所有现代源代码控制软件都使用修订的概念,因此从SVN迁移比从CVS迁移要容易得多。 还有一个原子提交问题。虽然我只遇到过一次,但是可能有2个人在CVS中一起提交可能会相互冲突,丢失一些数据并使您的客户端处于不一致状态。尽早发现这些问题并不重要,因为您的数据仍在某个地方,但是在压力很大的环境中可能会很痛苦。 最后,围绕CVS开发的工具不多了。虽然像Git或Mercurial这样的新工具确实缺少工具,但SVN在任何系统上都有相当大的应用程序。 EDIT 2020:说真的,这个答案现在已经12岁了。忘记SVN,像其他人一样使用Git! 众多比较之一: http://wiki.scummvm.org/index.php/CVS_vs_SVN 现在这是非常特定于该项目的,但是通常有很多内容。 专业版Subversion:
与CVS相比,SVN具有3个主要优势
Subversion本书的附录详细介绍了与CVS的重要区别,这可能有助于您做出决定。两种方法大致相同,但是SVN是专门为修复CVS中长期存在的缺陷而设计的,因此,至少从理论上讲,SVN永远是更好的选择。 不可忽视的一件事是生态系统。我在CVSNT商店工作,默认情况下,我发现越来越多的开源工具支持SubVersion。 我将支持Eridius对Git的建议,但将其扩展到其他DRCS(分布式修订控制系统),例如Mercurial和义卖市场。 这些产品是相当新的产品,目前的工具和与它们的集成度似乎很低(根据我的初步研究)。我想说的是,它们最适合那里的电源开发人员(在这里;-))。 另一方面,CVS当前不为您做什么?从最初的问题开始,您实际上并没有任何问题," CVS很烂,我该怎么用呢?" 您必须权衡任何潜在迁移的成本与收益。对于一个现有项目,我认为很难证明其合理性。 作为一个正在CVS和SVN之间切换的人(最初我们使用cvs2svn切换了所有项目,然后决定只在新项目上使用svn进行过渡),这是我们遇到的一些问题拥有。
btw:CVSNT支持原子提交 CVS(并行版本系统)和SVN(SubVersioN)是两个版本控制文件系统,在单个项目中进行协作的团队通常使用它们。这些系统使协作者可以跟踪所做的更改,并知道谁在开发哪个以及是否应将分支应用于主干。 CVS是两者中比较老的版本,它已成为很多人的标准协作工具。 SVN较新,它引入了许多改进来满足大多数人的需求。 您应该看看Git而不是SVN。 DVCS快速而强大。它不像SVN那样用户友好,但是在这方面它正在改进,并且学习起来也不难。 好吧,我觉得有些事情使svn很棒。 使用cvs2svn可以在几个小时内轻松完成迁移。 您还可以选择仅将最新代码从CVS迁移到SVN并冻结当前的CVS回购。这将使迁移更加容易,并且您还可以在旧的CVS存储库中构建旧版本。 |
最新内容
相关内容
python新手如何系统学习
python新手如何系统学习,基础,系统,状态,环境,中级,培训,阶段,代码,概念,管理,我们可把学习python分为4个阶段,每个阶段需要完善的掌握知识点,ppythonos怎样处理系统文件
pythonos怎样处理系统文件,系统,培训,环境,代码,文件,环境变量,模块,操作系统,类型,代表,pythonos怎样处理系统文件1、获取系统类型对代码进关于错误跟踪:FogBugz与OnTime相比
关于错误跟踪:FogBugz与OnTime相比,关于错误跟踪:FogBugz与OnTime相比,易用性,稳定性,我对,发表意见,FogBugz compared to OnTime有没关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存关于svn:学习并很好地学习版本控制
关于svn:学习并很好地学习版本控制,关于svn:学习并很好地学习版本控制,学习,版本控制系统,但我,使用过,Learning Version Control, and关于C#:何时在嵌入式系统中使用类型
关于C#:何时在嵌入式系统中使用类型抽象,关于C#:何时在嵌入式系统中使用类型抽象,用于,类型,嵌入式系统,这是,When should I use type关于版本控制:如何撤消git reset &#
关于版本控制:如何撤消git reset hard HEAD~1?,关于版本控制:如何撤消git reset hard HEAD~1?,撤消,命令,写了,我已经,How can I undo gi关于版本控制:DVCS选择-Windows有什
关于版本控制:DVCS选择-Windows有什么用?,关于版本控制:DVCS选择-Windows有什么用?,项目,版本控制系统,支持,我想,DVCS Choices - What'关于操作系统:Vista或XP for Dev Ma
关于操作系统:Vista或XP for Dev Machine,关于操作系统:Vista或XP for Dev Machine,选择,总体而言,一台,降级,Vista or XP for Dev Mac关于c#:可以“剥离”几个GUI线程吗? (
关于c#:可以“剥离”几个GUI线程吗? (不通过Application.Run停止系统),关于c#:可以“剥离”几个GUI线程吗? (不通过Application.Run停止关于dvcs:不同的分布式版本控制系统
关于dvcs:不同的分布式版本控制系统一起工作,关于dvcs:不同的分布式版本控制系统一起工作,控制,安装程序,办公室,源代码,Different DisPython代码库的持续集成系统
Python代码库的持续集成系统,Python代码库的持续集成系统,持续集成,项目,代码库,运行,Continuous Integration System for a Python