SVN是否过时?[关闭]


9

从我从Visual Source Safe迁移到SVN仅仅几年了。对我来说,SVN还是有点“哇!我可以做很多事情!SVN非常酷!”

但是我周围的许多人一直在说“ SVN?真的吗?嗯……”

还有太多让我担心的事情。我应该将团队迁移到Git / Mercurial还是其他一些花哨的东西?我知道我听起来很荒谬,最明显的答案是“坚持对您有用的”。SVN确实为我工作。但是每次我在资源库中创建一个新项目时,我都会不断问自己-也许是时候搬走了吗?

所以... SVN真的那么糟糕吗?我会因为坚持而错过一个巨大的机会吗?


这可能是一个有趣的阅读:stackoverflow.com/questions/161541/svn-vs-git
fouronnes 2011年

您是独立开发者吗?
TeaDrinkingGeek 2011年

6
我一直使用GIT。现在我必须在工作中使用SVN。…………………………RAGE。
伊沃·韦策尔

@TeaDrinkingGeek:OP表示“我应该移动我的团队...”,所以我猜想涉及的不只是OP(除非您将一个团队视为一个团队,但通常不称为“我的团队”) )。
FrustratedWithFormsDesigner

对不起,同事,在笔记本电脑上放置12小时后,眼睛有点模糊。:)
TeaDrinkingGeek 2011年

Answers:


8

这完全取决于用法。

如果您在一个房间里有一个团队,而他们在那儿做了大部分工作,那么您已经拥有了构建和部署过程,并且不想与他人广泛共享代码(就像您在一个团队中那样)。开源项目),那么您不应该为此大汗淋漓。

我大概在一年前从Subversion切换到git。Git也完全适合于大多数本地用例,但是真正的亮点是分布式开发。本地使用它,将github作为代码的远程备份和漂亮的Web界面非常好,这使我很容易让承包商参加。但是我现在并没有从Subversion中学到什么。


8

不要被不断的炒作所淹没。您有一些可行的方法,请继续使用它,直到有一个可以更好地满足其他要求的业务需求为止(不,每隔几个月,只要有人大肆宣传“新的和改进的”东西,就不会使用一种崭新的源代码控制系统或编程语言)可以比您现在使用的更好地满足您的业务需求)。

如果SVN为您的组织工作,那么就没有理由投资转移到其他地方所需的金钱/时间/精力,但是有些人希望这样做,因为它是新的和有光泽的。

不,这(不是JBK认为的)应该由“团队”决定,这是在与所有相关方(至少包括您的系统管理员)进行协商之后,由管理层决定的决定。花钱更改技术堆栈是一项业务决策,而不是一项技术决策。


如果可以的话,我将向您投票一百万次。
HLGEM 2012年

5

我相信,永远不要出于无知而做决定。如果您不知道自己缺少什么,则应尝试git足够长的时间,直到您知道为止,然后才能做出明智的决定。如果不尝试就无法真正理解向分布式控制的转变,并且在执行过程中放开一些旧习惯。DVCS的大多数功能是,无论出于何种原因,您都可以创建任意数量的分支。如果您试用了一个月而又没有创建至少5个分支,则您没有按照自己的条件进行测试。这是大多数不“获取” git的人的错误。之后,如果您返回svn,至少您会知道自己的原因。


5
我强烈赞成出于相对无知而做出大多数决定。您建议他花一个月时间尝试git。那是真实的工作。只有在有理由相信这会使他的处境好转时,他才应该这样做。否则,他可能还需要花一些时间进行实验。例如redis或mongo或rails或node.js或BDD任何同样热门的新事物。
William Pietri

但是Git 一个热门新事物。而不少用户的Git的经验表明,这让他的情况好了很多。
Kyralessa

3

我没用过Git,但我用过Mercurial,我真的不知道有什么大不了的。感觉就像SVN一样,除了诸如checkin和checkout之类的基本内容更加复杂(需要两个步骤而不是一个步骤)。作为回报,它可以带来很多更高级的东西,而我实际上并不需要做很多简单的事情。对于DVCS本质上优越的说法,我的反应基本上是:“好的,当然,我会同意。”然后我继续使用SVN,它对我来说很好。


DVCS的重要之处在于您可以“离线”完成所有工作。一项功能要求DVCS具有强大的合并机制,可以处理基础调整和分支。集中式VCS根本不可能完成的任务。人们声称的优势来自启用的工作流程,而不是技术优势。如果您不使用或不需要这种工作流程,那也可以。
greyfade11年

1
那是因为签入和签出在DVCS中不存在。您正在使用hg替代SVN,而不是使用hg的使用方式。对于任何DVCS,同样适用。
可替代

@Mathepic:好吧,您可以根据需要更改名称,但是在任何源代码管理系统中都存在在本地工作副本和官方存储库之间传输数据的基本概念。
梅森惠勒

1
不,不是的。DVCS中没有此类操作。
可替代

3
是的-中央回购将“主”版本推送到一个点是一个非常有效的用例,用于备份,构建服务器,发布管理,或者只是一种在团队之间更好地进行协调的方法。
gbjbaanb

-2

这里最明显的答案是让团队决定并讨论什么是对每个人来说最好的选择,这样就不会有人凭空说话了。可能会有各种意见和关切要解决,但我宁愿建议大家达成共识,而不是试图就所使用的东西独裁。


3
您是否知道从一个源代码控制系统转换到另一个源代码控制系统所花费的工时成本,或者如果新系统的新手在转换现有代码时犯了错误,则可能会丢失流程中的东西吗?这不是团队决策,这是业务决策,只有在您有当前系统无法满足的实际需求时才应执行。
HLGEM 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.