没有拉取请求的预期工作流是什么



我是Mercurial开源项目的忠实粉丝,但我从未有机会在工作中使用它。

我熟悉Github拉取请求的工作方式假设拉取请求不存在(我们不使用BitBucket或Gitlab),Mercurial世界中预期的协作工作流是什么?

假设我有一个公共的开源存储库,或者一个私人的工作存储库。有人如何提出由多个提交组成的非琐碎的更改?我们有哪些合作选择?

在开源存储库的情况下,我必须支持可信和不可信的贡献请求。在工作存储库的情况下,我信任贡献者,但公司要求对所有贡献进行内部审查。无论哪种方式,听起来我们都需要一种机制来通知作者可用的贡献,一些机制来讨论贡献,以及一些机制来将变更集从贡献者转移到官方存储库(考虑到贡献者可能无权推入中央存储库,但中央存储库可能有权从中提取)。

代码审查软件基本上能处理我上面提到的所有内容吗?拉取请求真的是唯一的方法吗?

没有拉取请求的预期工作流是什么?

直接推送到存储库。

代码审查软件基本上能处理我提到的所有内容吗在上面

,您应该尝试Phabricator。自己看看他们是否使用拉请求(跨存储库推送)。

拉取请求真的是唯一的方法吗?

,但拉取请求非常适合大多数协作工作流。有很多方法。Pull请求有利于提交前的代码审查,但也可以有提交后的工作流。

如果你不使用任何代码审查工具,只使用Mercurial和电子邮件,你可以这样做:

  • 对于受信任的贡献者,您可以设置一个fresh分支(和/或存储库)来接收提交,并进行提交后的代码审查。如果通过审核,则与default分支合并
  • 对于不受信任的贡献者,您可以设置一个contributor存储库来接收提交,并进行提交后的代码审查。如果他们通过审核,将其推送到官方存储库,然后与default分支合并。使用贡献者电子邮件(来自作者提交用户名)通知审查结果

如果您发现只有拉取请求适合您的工作流程或工具,那么答案是:是。

公用分叉

  • 普通且简单的hg pull(如果未命名,则每次从fork中提取将至少创建匿名分支)
  • 带有MQ Collab扩展的MQ

专用分叉

  • hg bundle+hg unbundle
  • hg export+hg import

任何媒体和任何类型的作品

  • 按机框或队列进行交换

最新更新