我在Google Code上使用Mercurial托管一个开源项目。对我来说,它非常好用,我一般都喜欢Mercurial。
我有几个社区成员克隆我的项目,对其进行更改,并定期向我发送补丁。这些贡献者没有提交主库的访问权限,也就是“Fork + Pull”模型。
我们还没有找到一个好的方法让他们向我发送贡献。如果他们有预见性地将给定功能的所有更改放到其克隆的命名分支上,那么我很容易将这些更改拉入主分支。但是,他们通常没有这种预见性,因为其中许多更改始于默认分支上的本地调整。
另一种选择是使用hg export
和hg import
来发送差异,但这似乎相当老旧。
可能在Mercurial队列中有答案,但那似乎是面向“高级用户”的功能,而我的许多开发人员可能是Git专家,但在使用Hg时完全是新手。我们仍在努力掌握未命名分支合并,我不想鼓励他们尝试进一步复杂化思维模型的东西,特别是当我对此知之甚少时。
我觉得我一定是错了。Github似乎有一个很好的解决方案,即其拉取请求概念。在使用Google Code上的Mercurial时,接受社区成员的贡献的最佳方法是什么?
hg pull -b 分支名称 http://the-clone-repo
命令来获取他们为该功能所做的所有提交。 - emmby