我在尝试提交到Hg存储库时遇到以下错误:
Z:wormcard_maker>hg commit -m "asdf"
transaction abort!
rollback completed
abort: phases.new-commit: not a valid phase name ('')
这种情况发生在多个不同的存储库中,并在重新克隆存储库和重新安装Mercurial后幸存下来。我可以从另一台计算机(运行Linux(上提交到存储库。
我在Windows 7上运行的是与TortoiseHg 4.8一起分发的Hg 4.8。
在TortoiseHg中,只需设置"文件-设置-提交-新提交阶段"选项。
我尝试使用THG设置,但没有成功;只是不断地产生同样的错误。(在这样做的时候,我注意到阶段选择的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
(。