如何使用Mercurial和Google Code管理开源项目?

10

我在Google Code上使用Mercurial托管一个开源项目。对我来说,它非常好用,我一般都喜欢Mercurial。

我有几个社区成员克隆我的项目,对其进行更改,并定期向我发送补丁。这些贡献者没有提交主库的访问权限,也就是“Fork + Pull”模型。

我们还没有找到一个好的方法让他们向我发送贡献。如果他们有预见性地将给定功能的所有更改放到其克隆的命名分支上,那么我很容易将这些更改拉入主分支。但是,他们通常没有这种预见性,因为其中许多更改始于默认分支上的本地调整。

另一种选择是使用hg exporthg import来发送差异,但这似乎相当老旧。

可能在Mercurial队列中有答案,但那似乎是面向“高级用户”的功能,而我的许多开发人员可能是Git专家,但在使用Hg时完全是新手。我们仍在努力掌握未命名分支合并,我不想鼓励他们尝试进一步复杂化思维模型的东西,特别是当我对此知之甚少时。

我觉得我一定是错了。Github似乎有一个很好的解决方案,即其拉取请求概念。在使用Google Code上的Mercurial时,接受社区成员的贡献的最佳方法是什么?


1
就这一点而言,Bitbucket 具备拉取请求功能。 - sylvanaar
2
为什么他们的更改必须首先在命名分支上进行? - Ringding
它们不一定需要,但如果是的话,我可以在我的仓库中执行hg pull -b 分支名称 http://the-clone-repo命令来获取他们为该功能所做的所有提交。 - emmby
1
值得一提的是,我已经放弃等待Google Code支持拉取请求。我现在已经将我的项目迁移到了GitHub,社区参与度显著提高。 - emmby
3个回答

3

使用BitBucket。它可以说是Mercurial的GitHub。它拥有拉取请求、问题跟踪器、维基等功能。


0

0

我看到了许多在Google Code上的项目都转移到了GitHub。如果你不是非要把代码存储在Google Code上,那么你可以考虑使用GitHub作为版本控制工具,而在Google Code上处理项目的其他方面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接