Con*_*ode 31 svn git version-control mercurial
Git/Mercurial越来越受欢迎.我看过很多文章比较SVN和Git/Mercurial,但我想知道是否真的有任何理由继续使用SVN.现在Git/Mercurial似乎有很多工具可以帮助推广其企业采用.
有没有理由继续使用SVN?Mercurial/Git终于为公司采用做好了准备吗?
Von*_*onC 101
一方面,SVN集成(包括IDE,框架,wiki,...)非常成熟,以及它的GUI和代码浏览器(即使像Git和Mercurial这样的DVCS每天都在进步).
另一方面,在企业环境中引入DVCS仍然不是一项简单的任务:
需要明确的是,使用DVCS可能是一个非常有效的选择:
StackOverflow(不是一个开源项目)正在使用Mercurial(参见由Joel Spolsky编写的HgInit).
他们从SVN迁移到DVCS:
并且因为DVCS的合并设施比SVN更先进.
(他们需要维护许多并行的略有不同版本的代码库,SO站点之间,StackExchange站点V1和V2,Area 51,...)
请参阅" DVCS和CVCS之间的差异 ",或" Mercurial有什么好处"或者在svn上git进行分支/合并? "
对于企业环境(我所在的地方),任何类型的任何转换都是微不足道的,因为它需要:
因此,DVCS在企业环境中也非常有用:(
参见" Git的企业采用率? "或" 企业中基于Git的源代码控制:建议的工具和实践? ".)
(即使对于新项目)也是如此不像在较小的结构或开源环境中那样容易放置.
Thi*_*ilo 22
对于单个开发人员来说它被认为更好吗?
如果有的话,Subversion对于单个开发人员来说更糟糕(设置更麻烦).
但继续使用SVN的一个很好的理由是惯性.如果SVN适用于您的项目(或您的公司),则无需经历切换的痛苦.教导每个人新工具(和新的工作流程)可能需要一些培训费用,而没有任何实际的好处.
Mhm*_*mmd 12
我认为Subversion仍然比Mercurial和Git更适用于媒体资产,Photoshop文件,After Effects复合等大型文件.我记得Linus Torvalds在本次Google Tech Talk中提到大文件是Git中为数不多的潜在问题之一.Mercurial有一些扩展用于在存储库外存储大文件.因此,在这种情况下,它们似乎都会遭受性能下降和/或其他问题.
另一方面,Subversion正在被当前的Blender Open Movie Project使用.我不认为他们使用它来存储渲染的帧,因为每个渲染通道至少会有几千兆字节的数据.但是,对于所有3D场景,对象,装备,纹理和脚本,它仍然是一个包含许多大文件的大型存储库.
JBi*_*rch 11
如果您长时间使用SVN ,我可以看到您可能继续使用SVN的原因.特别是在小公司或编码圈中,当你可能没有使用它们的任何更强大的功能时,从SVN到git或Mercurial的过渡可能会使你不利于进行切换.正如Thilo所指出的,一家使用SVN的大公司将会发现这一变化具有巨大意义.
此外,我认为SVN仍然存在,特别是在教学版本控制方面.但这取决于我自己在大学学习SVN的经验而不是自学git,所以我的观点不会是客观的.
话虽这么说,如果你从头开始创建一个存储库,我想不出你可能决定SVN是绝对必要的任何条件.也许在处理遗留系统时.
或遗留用户;)
真正的问题不是SVN与Git/Mercurial,它是分布式的与集中式的.在某些情况下集中可以更好,例如需要严格控制和彻底记录的公司环境.
我们使用subversion作为数据的存储,这对于合并是非常简单的(我们进行硬件开发,而设计文件是未记录的二进制格式).SVN的优点是可以对文件设置锁定,因此只有一个开发人员可以处理文件,并且在编辑之前还必须检查最新的文件.
当集中式范例理想时,Subversion是理想的选择.
其中一种情况是在论文上工作.保留每个人都可以使用的主副本更有意义.我们不想创建分支或标签.我们只想跟踪谁做出改变然后传播给所有作者.
| 归档时间: |
|
| 查看次数: |
6525 次 |
| 最近记录: |