【发布时间】:2011-01-29 08:52:26
【问题描述】:
我经常读到 Hg(以及 Git 和...)在合并方面比 SVN 更好,但我从未见过 Hg/Git 可以在 SVN 失败(或 SVN 需要手动干预的地方)合并某些东西的实际示例。您能否发布一些分支/修改/提交/...操作的分步列表,以显示当 Hg/Git 愉快地继续前进时 SVN 会失败的地方?实用的,不是非常特殊的情况请...
一些背景知识:我们有几十名开发人员使用 SVN 开发项目,每个项目(或一组类似项目)都在自己的存储库中。我们知道如何应用发布分支和功能分支,因此我们不会经常遇到问题(即,我们一直在那里,但我们已经学会克服 Joel's problems 的“一个程序员对整个团队造成创伤” ”或“需要六个开发人员两周时间来重新集成一个分支”)。我们有非常稳定的发布分支,仅用于应用错误修复。我们的主干应该足够稳定,可以在一周内创建一个版本。而且我们有单个开发人员或开发人员组可以处理的功能分支。是的,它们在重新集成后被删除,因此它们不会弄乱存储库。 ;)
所以我仍在努力寻找 Hg/Git 相对于 SVN 的优势。我很想获得一些实践经验,但是我们还没有任何更大的项目可以迁移到 Hg/Git,所以我一直在玩只包含几个组成文件的小型人工项目。而且我正在寻找一些你可以感受到 Hg/Git 令人印象深刻的力量的案例,因为到目前为止我经常阅读它们,但我自己却没有找到它们。
【问题讨论】:
-
第一本我已经看过了,另一本是新的。但是它们已经 1-2 岁了,而且似乎主要是关于 svn-1.5 之前的问题(svn 还没有合并跟踪)。
-
只是一个评论,您也可以将 Bazaar 与 git/hg 混为一谈,作为另一个可以正确处理以下问题的 DVCS。既然你提到试图找到优势:git/hg/bzr 的一个简单的后勤优势是分支不像 svn 那样是全局的。当只有一对适用于您时,您不必看到 67 个分支机构。每个人都在“私有”分支中工作,然后使用出色的合并功能重新合并,而无需担心合并是否在 99% 的情况下有效。
-
@wade:您认为“私人”分支机构在企业环境中是一种优势吗?我担心备份。我经常有功能分支在重新整合之前可以存活 1-2 个月。
-
@stmax:一个有效的问题。但是,您在许多具有颠覆性的公司环境中发现的是,人们推迟签入直到他们的代码完美无缺,而您在那里也有同样的风险。
标签: git svn mercurial merge dvcs