4

很快我们将开始开源 (py+qt) 项目,该项目应该是多平台的(我们使用 FreeBSD 作为本机平台),我们不确定要使用哪个 DVCS/主机。

过去我们使用 darcs 很长时间,但由于没有足够的公共托管可用而放弃了它。用 Monotone 玩了一段时间 - 设计精美,但今天主要是小众。Fossil 很好,但它使用非标准的 wiki 并且它的跟踪器是功能性的,但我们期待更多。

考虑到我们不会处理类似内核大小的项目,我们不需要 Git,我们认为它太复杂而无法处理,特别是对于可能使用 Windows 操作系统并更喜欢 GUI 工具的潜在贡献者。

所以,故事来到了 Bazaar/Launchpad 和 Mercurial/Bitbucket...

以下是我们收集的一些利弊,但想听听我们是否错过了一些可能有助于我们做出决定的东西……

集市优缺点:

  • 2.4 可能足以满足我们的需求,
  • 使用简单,
  • 有很好的 GUI 工具(资源管理器),
  • 处理空目录,
  • (可能)不如 Mercurial 受欢迎,
  • 没有等效于 hg 的命名分支

最后一点可能并不重要,因为有缺口并且有 colo-branches 插件,因此可以获得相同/相似的功能。

我们在 Bazaar 中发现的最有问题的怪癖是它的修订号方案和问题,如果从功能分支推送到上游会改变修订版本,就会出现问题。

使用 Launchpad 时可能是一个较小的问题......

就 Launchpad 而言: - 它具有非常好的带有电子邮件界面的错误跟踪器 - 它(可能)比 Bitbucket 更面向项目 - 没有像 Bitbucket 那样的私人存储库 - 没有项目 wiki - 错误(https://bugs.launchpad .net/launchpad/+bug/240067 ) 已超过 3 年且仍处于“低优先级”状态。LP 是 {LP,Sourceforge,Bitbucket, Google, Github} 中唯一一个缺少此功能的,而且它确实很糟糕而且退化,否则,很好的托管解决方案。

我们在另一个营地发现了什么...

水银是:

  • (可能)比 Bazaar 更受欢迎,
  • 快的,
  • 使用简单,
  • 对于非 cli 用户来说,有不错的 TortoiseHG,
  • 我们喜欢命名分支,
  • 一些怪癖,例如处理空目录(或https://www.mercurial-scm.org/bts/issue29

然而,我们最喜欢 Bazaar 的是,正如我们所相信的那样,强大的合并功能无需因 revno:hash 模式而更改 revids 的麻烦。

至于Bitbucket:

  • 我们喜欢无限/私人回购
  • 我们喜欢为项目提供 wiki
  • 我们错过了跟踪器的电子邮件界面,并且跟踪器(可能)与 LP 的(评论等)不一样

最后,假设有一些我们感兴趣的项目在 Git@github 下,所以我们想使用单个 DVCS,它可以帮助我们与 git@github 项目互操作。

我们发现 bzr-git 插件非常有能力,并且没有使用 hg-git 的经验。

虽然有 bzr-hg 插件(不如 bzr-git 成熟),但是我们不知道像 hg-bzr 这样的东西,除了 hg 的 convert 扩展,它完成了 hg-bzr 转换的工作。

是否有任何我们错过的重要特征在决定这两者时具有重要影响?

最后,我们使用 DVCS 来满足我们的所有需求(简单的项目、写作……),我们更愿意选择一个 DVCS/主机,它可以服务于我们的所有目的,并且对 git(hub) 项目也很有用。

你有什么建议吗?

4

2 回答 2

2

在集市:

您可以通过设置append_revisions_onlybranch.conf避免修订号被重新编号的问题这将确保人们只合并到主干,而不是切换主干。

我非常喜欢bzr-colo来处理命名的并置分支。

我当然希望看到Launchpad 获得 wiki。它目前已分配并正在进行中,因此也许很快就会完成。

于 2011-08-15T09:21:02.650 回答
2

Update: Seing this comment makes it easier for us to abandon bzr/LP and embrace hg/bitbucket.

于 2011-09-01T12:09:47.640 回答