提交时出现 Mercurial 错误:"abort: phases.new-commit: not a valid phase name ('')"

Mercurial error on commit: "abort: phases.new-commit: not a valid phase name ('')"

我在尝试提交到 Hg 存储库时遇到以下错误:

Z:\wormcard_maker>hg commit -m "asdf"
transaction abort!
rollback completed
abort: phases.new-commit: not a valid phase name ('')

这发生在多个不同的存储库中,并且在重新克隆存储库和重新安装 Mercurial 后仍然存在。我可以从另一台计算机提交到存储库 (运行 Linux)。

我 运行 Hg 4.8 在 Windows 7.

上与 TortoiseHg 4.8 一起分发

在 TortoiseHg 中只需设置 "File - Settings - Commit - New Commit Phase" 选项。

我尝试使用 但它没有用;只是不断产生相同的错误。 (在执行此操作时,我注意到相位选择的 THG 下拉列表中有一堆空白行;所以我认为 THG 很困惑。)

相反,我手动编辑了我的 HGRC 文件并确保它包含:

[phases]
new-commit = secret

有效。

您显然可以使用 draft 等代替 secret

其他答案都不适合我 - 即使我在 HGRC 中有 new-commit = secret 它仍然产生错误。

我找到的解决方法是:

hg ci -m "message" --config phases.new-commit=secret

这确实有效,显然是通过覆盖 hg 试图使用的任何无效阶段名称。虽然不知道为什么。

我认为这会与其他评论一起使用,而不仅仅是 ci(又名 commit)。