41

为什么选择 Mercurial 作为 FogCreek Kiln的基础,这是一个具有紧密集成代码审查和 FogBugz 集成的源代码控制管理系统?

为什么是 Mercurial,而不是其他(分布式)版本控制系统,如 Bazaar、Git 或 Monotone,或者创建自己的版本控制系统,如Fossil(分布式软件配置管理,包括错误跟踪和 wiki)?

是什么特性让 FogCreek 选择 Mercurial 作为 Kiln 引擎?

4

6 回答 6

75

这是 Kiln 开发人员之一的回答。

  • 它提供了真正的分支。
  • 它很容易使用。
  • Windows 支持非常好。
  • 它很快。
  • 它很强大。
  • 它很容易扩展。

在此处查看完整的详细信息。他们解释得很透彻。

于 2009-11-10T00:23:12.007 回答
26

原始答案(2009 年 11 月,GitHub 只有 1 年,Git 只有 4 年)

我真的不知道,但我会冒险“更好的 Windows 支持”,Windows 可能是他们大多数客户群的主要平台。
Git 仍然是一个太多的“unix/linux”产品,通过 mSysGit提供“有希望的”Windows 支持。
只需阅读一些MSysGitHerald文章的语气,比如第九篇:

在很长一段时间内,msysGit 都是由 Hannes、Steffen、Sebastian Schuberth 和我自己 [Johannes Schindelin] 组成的帮派推动的。在某个阶段,我感到非常沮丧,以至于我完全停止了 msysGit 的工作。原因很简单:它不再有趣了。太多人要求修复或增强,但没有人提供自己的贡献。由于我不是 Windows 用户(自 1994 年以来一直是一名快乐的 Linux 用户),mSysGit 上的工作对我来说并没有足够的回报让我继续。所以我停了下来。
但与此同时,情况发生了变化。
我们得到了...的贡献

在向 IT 老板推销该工具时,这并不能激发很大的信心。我对个人使用 Git 感到非常满意,并且非常感谢所有 mSysGit 贡献者的辛勤工作,但在一家大公司,我很难让 Git 成为我们 Windows 开发人员采用的默认 DVCS 工具。
两者都是因为学习曲线,但主要是因为还没有支持水平。
这只是个人意见,如果你有不同的成功部署 Git 的经验,你会更有力量。

Mercurial 是最接近 Git 的 DVCS,并且基于可移植的 Python 脚本(而不是基于 linux/unix 的 sh 脚本),它可能是一个务实的选择。


七年后的 2018 年更新:是的,Windows 对 Git 的支持现在已成为现实。

微软将其整个Windows 代码库整合到一个(巨大的)Git 存储库中:请参阅“地球上最大的Git 存储库”:350 万个文件,300GB,4,000 名工程师每天在 440 个分支中生成 1,760 个“实验室构建”,此外还有数千个 pull请求验证构建。
但这是添加了GVFS (Git Virtual FileSystem),它允许根据您使用的内容仅动态下载您需要的部分。
还不是在 Git 原生中,尽管它的集成已于 2017 年 12 月开始,实施了窄/部分克隆

Kiln 也宣传 Git 支持

Kiln是我们一流的 DVCS 托管解决方案,支持 Git 和 Mercurial!GitHub很棒。FogBugz 很棒。还有什么更好的呢?整合它们怎么样!每当传入的变更集评论提到案例时,GitHub Web Hooks 可以通知 FogBugz。

于 2009-11-09T23:33:45.613 回答
10

当我查看 DVCS 系统时,我喜欢Mercurial,因为。

  • Mercurial 开发人员似乎关心 Microsoft Windows 用户。
  • Mercurial 开发人员并不认为 Microsoft Windows 用户是被迫使用 Windows 的 Unix 用户。
  • 与许多开源开发人员不同,Mercurial 开发人员似乎并不讨厌微软赚钱。

也许Kiln 开发人员也是这么想的……
(所有主要的 DVCS 系统都足够好,否则其他因素会更多地发挥作用)

这个答案现在显然已经过时了,因为微软拥有 github,而 git 现在在 Windows 上非常普遍。

于 2010-03-19T11:11:23.063 回答
7

我不能代表 FogCreek,但我知道当我选择使用哪个 DVCS 时,很多人评论说 git 在 Windows 上不能很好地工作(除非它在 ​​cygwin 中运行)。由于 FogBugz 被设计为在 Windows 或 Linux 系统上运行(据我了解——我自己不是用户),因此有一个额外的层(cygwin)来运行 git 可能是那里的决定因素。我对 Bazaar 或 Monotone 了解不多,因此无法提供任何反馈。

于 2009-11-09T23:20:22.757 回答
6

我认为 hg 与 git 的问题是一个红鲱鱼,因为单独的操作系统支持问题是一个主要区别。真正的问题是为什么是 hg 而不是 bzr,因为这两者非常相似,并且 hg 开发人员自己认为 bzr 是他们真正的竞争对手,反之亦然。在为 OpenSolaris 和 OpenJDK 选择 DVCS 时,Sun 对两者进行了广泛的评估。有人想知道在 FogCreek 采摘汞的过程是什么。到目前为止,我们得到的所有答案(除了操作系统支持问题)都是一般性的。

于 2010-03-26T01:16:03.240 回答
4

所以现在他们还添加了 git:

最大的新功能之一是 Kiln Harmony,它允许您使用 Git 或 Mercurial 在 Kiln 存储库上进行操作。因此,您可以使用 Git 将更改推送到 Kiln 存储库,然后使用 Mercurial 拉取它们。这意味着您永远不必决定是要使用 Git 还是 Mercurial。

于 2013-04-12T16:50:22.090 回答