如何使用 Mercurial 和 Google Code 管理开源项目?
我有一个使用 Mercurial 托管在 Google Code 上的开源项目。它对我来说非常有用,我通常喜欢 Mercurial。
我有几个社区成员克隆我的项目,对他们的克隆进行更改,并定期向我发送补丁。这些贡献者没有对主存储库的提交访问权限,即“Fork + Pull” 模型。
我们还没有真正找到让他们向我发送贡献的好方法。如果他们有先见之明,将给定功能的所有更改都放到其克隆中的命名分支上,那么我很容易将这些更改拉到主分支中。然而,他们通常没有这种远见,因为许多更改都是从默认分支上的本地修补开始的。
另一种选择是使用 hg export
和 hg import
来邮寄差异,但这似乎是 1974 年的事。
在 Mercurial 队列中的某个地方可能有答案,但似乎总是如此就像面向“高级用户”的功能一样,我的许多开发人员可能是 git 的专家,但在谈到 hg 时却完全是新手。我们仍在尝试将未命名的分支合并,我不愿意鼓励他们尝试一些使心智模型进一步复杂化的东西,尤其是当我对这个主题知之甚少的时候。
我觉得我一定是做错了。 Github 似乎有一个关于拉取请求概念的好故事。在 Google 代码上使用 Mercurial 时,接受社区成员贡献的最佳方式是什么?
I have an open source project hosted on Google Code using Mercurial. It works great for me, i generally love mercurial.
I have several community members who clone my project, make changes to their clone, and periodically like to send me patches. These contributors do not have commit access to the master repository, aka the "Fork + Pull" model.
We haven't really found a good way for them to send me contributions. If they have the foresight to put all of their changes for a given feature onto a named branch in their clone, it's easy for me to pull just those changes into the master. However, they often don't have that foresight since many of these changes start out as local tinkering on their default branch.
Another alternative is to mail around diffs using hg export
and hg import
, but that seems rather 1974.
It's possible there may be an answer somewhere in mercurial queues, but that's always seemed like a feature oriented toward "power users", and many of my devs may be experts with git but are complete n00bs when it comes to hg. We're still trying to get unnamed branch merging down, I'm loath to encourage them to play around with something that complicates the mental model even further, especially when I know so little about the subject.
I feel like I must be going about this wrong. Github seems to have a good story for this with its concept of pull requests. What's the best way to accept contributions from community members when using mercurial on google code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用BitBucket。它几乎就是 Mercurial 的 GitHub。它有拉取请求、问题跟踪器、维基百科等。
Use BitBucket. It's pretty much GitHub for Mercurial. It's got pull requests, an issue tracker, wikis, etc.
我在 google code 上看到过很多项目从使用 google code scm 转移到了 GitHub。如果您不坚持使用 google code 存储代码,则可以考虑使用 GitHub 来存储 SCM,并使用 google code 来存储项目中的其他所有内容。
I've seen a number of projects on google code that moved from using google code scm to GitHub. If you are not adamant that you should store your code with google code, you might consider using GitHub for SCM and google code for everything else on the project.
也许可以使用 Rietveld 补丁审核工具 - 请参阅http://code.google.com/p/rietveld/wiki/CodeReviewHelp 了解相关文档。
它不像 GitHub 的 pull requests 那样集成为一个工具,但它可能会满足您的需求。
Perhaps use the Rietveld patch review tool - see http://code.google.com/p/rietveld/wiki/CodeReviewHelp for documentation on it.
It's not nearly as integrated of a tool as GitHub's pull requests, but it might meet your needs.