什么人在这里看到的相对优势和弱点内,反复无常和集市?

在考虑到每个的他们与另一个针对版本控制系统,如SVN和必然,有什么问题应该考虑?

在规划一个移徙从SVN这些分布式版本控制系统,是什么原因你会考虑?

有帮助吗?

解决方案

Git是非常快,规模非常好,非常透明的,关于其概念。下面是,它有一个比较陡峭的学习曲线。Win32口是可用的,但不是一个第一流的公民。Git公开哈希版本数字用户;这提供了保障,(在一个单一的散列始终指的是完全相同的内容;攻击者不能修改历史,而没有被检测到),但可能会很麻烦的用户。混帐具有一个独特的概念的跟踪文件的内容,甚至为那些内容之间移动的文件,并享有文件作为第一级对象,但不会跟踪目录。另一个问题}类型是,有许多行动(如 变基),这使得它很容易修改的历史记录(在一定意义上-的内容称为通过散列将永远不会改变,但引用的散列可能丢失);一些纯粹主义者(包括我自己)不喜欢那样非常多。

市场是相当快的(很快的树木与浅的历史,但目前的尺度难与历史长度),并且容易学习的那些熟悉命令行接口的传统SCMs(CVS,SVN等)。Win32被认为是一个第一流的目标通过其发展的团队。它有一个可插入的结构不同的组成部分,并取代了它的格式存储频繁;这使他们可以引入新的功能(例如更好地支持整合与修订控制系统的基于不同的概念)和提高业绩。集市小组认为,目录跟踪,并重新命名支持第一流的功能。虽然全球唯一的修订-id的标识是适用于所有修订,树的地方revnos(标准修订的数字,更类似于那些使用通过svn或其他更传统的SCMs)用于地方内容哈希于识别的修订。市场具有支持对于"轻质的书架",在其历史上是保持远程服务器上,而不是拷贝下来的地方系统和自动称通过网络时,需要;目前,这是唯一的DSCMs.

两者都有某种形式的SVN一体化;然而,开始-svn是相当多的能够比混帐svn,很大程度上是由于后端格式修订引入了用于这一目的。 [更新,作为2014年:第三方商业产品SubGit提供了一个双向接口之间的SVN,并让其是在忠于开始-svn,并大大更打磨;我 强烈 建议将其使用过的混帐svn当的预算和授权的限制许可].

我没有使用反复无常广泛,因此无法对此发表评论详细--除了要注意这样Git,具有内容散处理修订;还Git,它并不享目录,作为第一类对象(并且不存储空的目录)。然而,速度比其他任何DSCM除了统,并且具有远远更好的IDE整合(尤其对于蚀)比任何其竞争对手。鉴于它的性能特征(这滞后只稍微落后的那些录)及其卓越的跨平台和IDE支持,反复无常可能令人信服的团队与大量win32为中心或IDE限成员。

一个令人关切迁移,从SVN是,SVN的GUI前端和IDE一体化较成熟的那些任的分布SCMs。此外,如果目前大量使用precommit脚本的自动化与SVN(ie。要求单元测试通过之前提交可以继续进行),您可能想要使用的一个工具相类似 PQM 自动化的合并请求你的公共分支机构。

SVK是DSCM其采用颠复作为其背储存,并具有相当好的一体化与SVN为中心的工具。然而,它已经急剧恶化的性能和可伸缩性的特点,比任何其他主要DSCM(甚至Darcs),并应避免对项目承担责任的增长大无论是长的历史记录或数量的文件。

[关于提交人:我使用的操作必然的工作,以及市场对于我个人的项目和作为一个嵌入图书馆;其他零件的我的雇主的组织使用水银沉重。在以前的生活我建立了一个伟大的处理自动化周围SVN;在此之前,我们的经验与GNU拱,BitKeeper、简历和其他人。Git是相当把在第一次-这感觉就像GNU拱因为一个概念重的环境,而建立工具包,以符合用户的选择的工作流程-但是我从来很舒服。

其他提示

史蒂夫Streeting的食人魔3D项目(9/28/2009)发表了一项关于这一主题在那里,他不大,甚至撇子 比较内,反复无常和集市.

最终他发现优势和弱点与所有三个,并没有明确的优胜者。另一方面,他给出了一个伟大的表,以帮助您决定要去。

alt text

它的一个短读我强烈推荐它。


什么人在这里看到的相对优势和弱点内,反复无常和集市?

在我看来 Git 强其清洁基础设计的和非常丰富的特点。它还有我认为最好的支持对于多的分支的存储库,并管理分沉重的工作流程。这是非常快速和具有小仓库的尺寸。

它有一些特点,是有用的,但采取一些努力来应用于他们。这些包括 可见 中间临时ara(指数)之间的工作的区域和储存数据库,它允许更好的合并决议中的更多复杂的情况下,增量作出承诺,并作出承诺,用肮脏的树; 检测 重命名和副本使用的相似度启发性的而不是跟踪他们使用某些种类的文件的身份证,其运作良好,并允许归咎(注释)它可以按照代码运动的跨文件并不仅批发重新命名.

它的一个缺点是,MS Windows支持落后和不满。另一感知的缺点是,它不是很好的证明作为例如善变的,而是较少的用户友好的比赛,但是它的变化。

在我看来 善变的 优势在于其良好的业绩和小储存库的大小,其良好MS Windows支持。

主disadvanatge是在我所见的事实,当地的分支机构(多个分支在单一的储存库)仍是二等公民,并在奇怪的和复杂的方式实现了标签。还的方式处理文件的重命名是次优的(但这migth有改变)。善变不支持章鱼合并(有两个以上的父母).

从我所听到和读取主 集市 优点是它容易,支持集中的工作流程(这也是缺点,集中的概念可见在那里应该不),跟踪重命名的文件和目录。

它的主要缺点是性能和仓库的尺寸大的储存库有很长的历史记录的非线性(业绩的改善至少对于不太大的储存库),事实上,默认的范例是一个牧场每库(可以设置来分享数据,虽然),并集中的概念(但是,也从我所听到的变化)。

Git是写在C、脚本和Perl,并编写脚本;善变的是写在C(核心,用于性)和蟒蛇,并提供API for扩展;市Python编写,并提供API为扩展。


在考虑到每个的他们与另一个针对版本控制系统,如SVN和必然,有什么问题应该考虑?

版本控制系统,如颠复(SVN),必然或者明确案件是 集中 版本控制系统。Git,善变的,市场(和还Darcs,单调和BitKeeper)是 分布 版本控制系统。分发的版本控制系统允许的范围宽得多的工作流程。他们允许使用"公布时准备"。他们有更好地支持分支和合并,并用于分沉重的工作流程。你不需要信任的人犯下的访问能够得到的捐款从它们在一个简单的方法。


在规划一个移徙从SVN这些分布式版本控制系统,是什么原因你会考虑?

一个因素您可能想要考虑的是支持inetracting与SVN;混帐具有混帐svn,集市已经开始-svn,水银已经hgsubversion扩展。

免责声明: 我Git用户和小时候的贡献,并观看(和参与)git的邮件列表。我知道反复无常和市场仅从其文件、各种讨论,在因诺琴蒂研究中心和邮件列表和博客和文章比较各种版本控制系统(其中一些列在 GitComparison 页录Wiki).

反复无常和市场类似于自己非常少在表面上。他们两个都提供基本分发的版本控制,如在线的提交和合并多个分支,两者都写在蟒蛇都比饭桶。有许多差异,一旦你深入的代码,但是,对你的例行日常任务,它们是有效同样,虽然反复无常似乎有一点更多的动力。

Git,那么,是不是对于新手来说。它的速度远远超过这两个刺客和集市,并被编写来管理Linux内核。这是最快的三个,也是最强大的三,通过一个相当的保证金。Git的记录和提交的操作工具是无与伦比的。然而,它也是最复杂和最危险的使用。这是非常容易失去的一个犯下或毁了储存库,特别是如果你做不了解内部工作的饭桶。

看一下比较了最近通过的蟒蛇开发商: http://wiki.python.org/moin/DvcsComparison.他们选择了善变的基于三个重要原因:

选择去与善变成为三个重要原因:

  • 根据一个小型的调查,蟒蛇开发人员更感兴趣使用水银 比集市或饭桶。
  • 善变的是写在蟒蛇,这是一致的蟒蛇-dev倾向'吃他们自己的狗食'.
  • 善变的明显快于开始(这是慢于git,但由一个更小的差别)。
  • 善变的更易于学习SVN用户比集市。

(从 http://www.python.org/dev/peps/pep-0374/)

太阳没有一个评估的 git, 善变的, , 集市 作为候选人,来替代太阳Teamware风险的Solaris码的基础。我发现这很有趣。

一个非常重要的 失踪 事情在市cp。你不能具有的多个文件,共享相同的历史,因为你已在SVN,例如参看 在这里,在这里,.如果你不打算使用cp,开始是一个伟大(并非常容易使用的)替换为svn.

我用的是市场一段时间我很喜欢但是,这只是规模较小的项目,甚至那么这是非常缓慢。所以容易了解,但不超快速。这是非常x的平台。

我目前偏我想了很多,因为1.6使它更加类似于其他风险方面的指令以使用。

我认为主要的差异为我的经验中使用DVC是这样的:

  1. 混帐具有的最充满活力的社区和它经常可以看到有关的文章Git
  2. 真的岩石。Launchpad.net 是好的,但是没有喜欢的乐趣。
  3. 数量的工作流程的工具需导已经很大。它的综合所有的地方。有一些为开始,但并不多或作为良好的维护。

在摘要开始是伟大的时候我是切削我的牙齿上DVC但是我现在非常乐意与操想.

这是一个大问题,在很大程度上取决于背景下,要花大量的时间类型成的一个小文字的盒子。此外,所有这三个出现大致类似的当用于通常的东西大多数程序员做,所以即使理解的差异需要一些相当深奥知识。

你可能会得到更好的答案如果你可以打破你的分析,这些工具落到你有更多的具体问题。

集市是恕我直言,更容易学习,而不是饭桶。混帐具有一个很好的支持github.com.

我觉得你应该试图使用,并决定哪些最适合你的。

什么人在这里看到的相对优势和弱点内,反复无常和集市?

这是一个非常开放的问题,接壤flamebait.

Git是最快的,但是所有三个是速度不够快。市场是最为灵活的(它具有透明读写支持SVN库)和关心很多关于用户的经验。善变的是介于中间。

所有三个系统有很多的粉丝.我个人一个市场变形金刚迷。

在考虑到每个的他们与另一个针对版本控制系统,如SVN和必然,有什么问题应该考虑?

前者是分布式系统。后者是集中式系统。此外,必然是专用的,同时所有人都是免费的 作为在讲话.

集中与分散化是一个更重要选择,而不是任何系统中提到的其类别。

在规划一个移徙从SVN这些分布式版本控制系统,是什么原因你会考虑?

第一,缺乏一个很好的替代品如今.虽然市场是,对自己的工作 乌龟变, 但这是没有,为九月份的2008年。

然后,培训关键人员有关如何使用分散的系统,将会影响他们的工作。

最后,融合与系统其余部分,如问题跟踪,晚间建立系统、自动测试系统,等等。

你的主要问题将是这些 分布 SCMs,因此需要一点改变用户的心态。一旦人们习惯这个想法的技术细节和使用模式将下降到位,但不要低估这一初始障碍,尤其是在企业环境。记住,你所有的问题是人的问题。

ddaa.myopenid.com 提到它通过的,但我认为这是值得一提的是再次:集市可以读写,远程SVN储存库。这意味着你可以使用市地作为一个概念验证,而其他队仍然使用颠复活动。

编辑:几乎所有的工具现在有 一些 进行交互的方式与SVN,但我现在有个人的经验, git svn 工作 非常 好。我一直在使用这几个月来,以最小的打嗝。

有很好的视频通过Linus Torvalds在饭桶。他是创造者的内所以这是什么他促进,但在视频他解释什么分布SCMs是什么,为什么他们更好地然后集中的。有一个很好的处理比较git(水银被认为是确定)和cvs/svn/必然.也有问题,从观众关于迁移到布SCM。

我找到这种材料的启迪和我卖给布SCM。但是,尽管Linus的努力,我的选择是善变的.原因是bitbucket.org我发现很好(更慷慨的)那么想.

我需要在这里说的一个字的警告:莱纳斯有相当积极的风格,我认为他想很有趣但是我没有笑.除了那个视频是巨大的,如果你是新来的分布SCMs,并认为关于移动,从SVN.

http://www.youtube.com/watch?v=4XpnKHJAok8

分发的版本控制系统(DVCSs)解决不同的问题,而不是集中式系统的.比较像是比较锤子和螺丝刀。

集中风险 系统的设计目的是有一个真正来源就是有福了,因此良好的。所有开发人员的工作(结帐),从这一来源,然后添加(承诺)它们的变化,然后成为同样的祝福。只有真正的差别CVS、颠复、,必然,VisualSourceSafe和所有其他CVCSes是在工作流程、业绩和整合,每个产品提供。

风险分布 系统的设计意图,一个储存库是不如任何其他的,这一合并从一个仓库,另一种是只是另一种形式的通信。任何的语义价值作为其仓库应该得到信任是从外部强加的过程中,没有通过软件本身。

真正的选择之间使用一种类型或其他组织--如果项目或组织要集中控制,然后DVC是一个非起动。如果开发人员预计工作的所有国/世界上,没有安全的宽带连接到中央储存库,然后DVC可能是你的救赎。如果你需要两个,你们的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top