这个请求的标题说明了这一切。我没有在我的.hgrc文件中定义的钩子,但我上运行得到这个消息回滚汞承诺:Mercurial HG'pretxncommit.whitespace hook退出状态1'但没有指定钩子
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。
通过查找并在网上搜索,我发现这个错误是由于代码中尾随空格的钩子(比较this part of Mercurial: The definitive guide和this 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
因此,这意味着,它无法找到这两个文件,但是为什么呢?
再次感谢您的帮助。
编辑2:请注意,第一个编辑是一个无关的问题,可以忽略这个特定的问题。
感谢您的回答。我按照你说的做了,但输出是一样的:( 它可能使用一些全球性的hgrc文件吗?我知道我在这里抓住吸管,但我真的不知道发生了什么 – Nebelhom 2013-03-24 02:26:08
“global “配置将位于'$ HOME/.hgrc'中;本地配置位于'.hg/hgrc'下;如果你没有看到任何可能有用的东西,请尝试在'[ui]下面添加'debug = True' ]'in。.hg/hgrc'(我假设你在'$ HOME/.hgrc'中加入了这个)。[Here's](http://www.selenic.com/mercurial/hgrc.5.html)更多关于这个文件是为Mercurial设置的 – 2013-03-24 02:41:14
我调整了这篇文章给你更多的信息对不起,但它不是很多:(再次感谢你的帮助 – Nebelhom 2013-03-24 09:47:20