我是Mercurial开源项目的忠实拥护者,但我从来没有机会在工作中使用它。
我熟悉Github拉取请求的工作方式。 假设拉取请求不存在,Mercurial世界中用于协作的预期工作流程是什么(我们不使用BitBucket或Gitlab)?
说我有一个公共开源资源库或一个私人工作资源库。有人如何提出包含多个提交的非平凡更改?我们有哪些合作选项?
对于开源存储库,我必须支持受信任和不受信任的贡献请求。对于工作资料库,我信任贡献者,但是公司要求对所有贡献进行内部审查。无论哪种方式,听起来好像我们都需要一种机制来通知作者可用的贡献,某种机制来讨论该贡献以及某种机制来将变更集从贡献者转移到官方存储库(假设贡献者可能没有允许推送到中央存储库,但中央存储库可能有权从中提取。)
代码审查软件是否可以处理我上面提到的所有内容?拉取请求真的是唯一的方法吗?
答案 0 :(得分:1)
没有请求请求的预期工作流程是什么?
直接推送到存储库。
代码审查软件在本质上是否处理了我提到的所有内容 以上?
是,您应该尝试使用Phabricator。亲自查看他们是否使用拉取请求(跨存储库推送)。
拉式请求真的是唯一的方法吗?
否,但拉动请求非常适合大多数协作工作流程。有很多方法。拉取请求有利于提交前的代码审查,但是您也可以拥有提交后的工作流。
如果您不使用任何代码审查工具,而仅使用Mercurial和电子邮件,则可以执行以下操作:
fresh
分支(和/或存储库)以接收提交,并进行提交后代码审查。如果他们通过审核,请与default
分支合并。contributor
存储库以接收提交,并进行提交后代码审查。如果他们通过了审核,请将其推送到官方存储库,然后与default
分支合并。使用贡献者电子邮件(来自作者的提交用户名)通知审阅结果。如果发现只有拉取请求适合您的工作流程或工具,那么答案是:是。
答案 1 :(得分:0)
公共叉子
hg pull
(如果没有命名,每次从分支中拉出至少会创建一个匿名分支)私人叉子
hg bundle
+ hg unbundle
hg export
+ hg import
任何媒体和任何类型的作品