推送到评论存储库后,"abort:不能在rebase上重新定义不可变的变更集"

nmi*_*els 23 mercurial mercurial-phases

我们有一个代码审查存储库,人们hg push -f可以使用各种各样的东西.审核完成后,我们从项目的中央存储库,rebase和push中提取.我最近升级到mercurial 2.1并收到此消息:

abort: can't rebase immutable changeset 43ab8134e7af
(see hg help phases for details)
Run Code Online (Sandbox Code Playgroud)

当我尝试hg pull --rebase从中央存储库.我如何解决它?

nmi*_*els 36

在评论存储库的.hg/hgrc文件中,添加以下行:

[phases]
publish = False
Run Code Online (Sandbox Code Playgroud)

问题是由于mercurial 2.1中的一个新功能称为阶段.这很棒.是对它的使用的一个很好的介绍.

为了使有问题的变更集现在可变,请使用hg phase -f -d REV强制REV再次变为可变.一旦hgrc文件被更改,您就不必再这样做了.

作为旁注,hg push -f是蹩脚的.创建一个hg review-f送到该存储库的别名.