Mercurial HG的pretxncommit.whitespace hook退出,状态为1',但没有指定钩子

时间:2013-03-23 09:54:57

标签: mercurial xampp hook rollback hgrc

这个请求的标题几乎都说明了。我的.hgrc文件中没有定义钩子,但是我在运行hg commit时得到了这个回滚消息:

transaction abort!
rollback completed
abort: pretxncommit.whitespace hook exited with status 1

我的hgrc文件如下所示:

[paths]
default = 'the_address'

[ui]
username = 'my name and email address'
verbose = True

[extensions]
mq =

[diff]
git = 1
unified = 8

以防万一重要。我在Ubuntu 12.04上使用Mercurial,我正在尝试将它与在/ opt /目录中使用XAMPP安装(Apache friends)结合起来,所以我总是必须在执行提交之前运行sudo。

浏览SO并在网上搜索,我发现此错误是由于关于代码中尾随空格的钩子(比较this part of Mercurial: The definitive guidethis SO entry on hooks)。奇怪的是,我没有在任何地方定义这个钩子,所以我也不知道如何删除它。

任何帮助整理这个将不胜感激。谢谢你们。

=============================================== =============================

编辑:结合雷鬼的建议,我把hgrc文件放在主文件夹和根文件夹中,我调整了etc / mercurial中的hgrc文件,以找出解决这个问题的方法。

我不确定,debug = True应该提供多少信息,但我没有特别多。在提交消息的开头,我现在看到以下内容:

could not import hgext.hgext.mq (No module named hgext.mq): trying hgext.mq
could not import hgext.hgext.transplant (No module named hgext.transplant): trying hgext.transplant

所以,这意味着,它找不到这两个文件,但为什么呢?

再次感谢您的帮助。

EDIT2:请注意,第一个EDIT是一个无关的问题,对于这个特定问题可以忽略。

1 个答案:

答案 0 :(得分:2)

您可以在debug = True文件的[ui]下添加.hgrc吗?这将为您提供更多输出,这可能会提供一些洞察这个钩子的位置