如何在hg推送中将变更集保持在阶段“草案”中?

时间:2016-05-29 18:33:44

标签: mercurial push mercurial-phases

如何阻止mercurial将更改集置于推送操作的“公共”阶段?我希望他们保持“选秀”。

我重新定义了很多东西,我推送的存储库仅供我使用。并且不得不一直改变阶段是一件麻烦事。

4 个答案:

答案 0 :(得分:11)

文档未明确显示的内容是:

推送的阶段变化不是纯粹的本地决策。 - 在“上传”变更集之后,客户端要求服务器提供有关提交阶段的更新,服务器通常是告诉他们现在是“公开的”。

因此,.hgrc - 代码段

[phases]
publish = False

必须放在服务器上,这会抑制那里通常的相变。然后,服务器将以与推送相同的方式报告阶段。

Bitbucket在设置→存储库详细信息→阶段下有一个选项。

答案 1 :(得分:4)

将阶段保持在draft的最直接方法是将远程服务器配置为"非发布",正如您已经发现的那样。

但还有第二种方法,如果目标服务器无法设置为"非发布"则可能对某些人有用。出于任何原因:使用pull代替push。拉取是只读的,因此如果您可以设置工作流程(例如通过本地别名),以便遥控器从您的本地仓库中提取更改,他们将保持同步draft

答案 2 :(得分:2)

https://www.mercurial-scm.org/wiki/Phases

A repository is "publishing" by default. To make a repository non-publishing, add these lines to its hgrc configuration:


[phases]
publish = False

答案 3 :(得分:-1)

简短回答:无论如何

如果您想在本地和推送目标上重写历史记录,则必须