2013-03-23 26 views
1

这个请求的标题说明了这一切。我没有在我的.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 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 

因此,这意味着,它无法找到这两个文件,但是为什么呢?

再次感谢您的帮助。

编辑2:请注意,第一个编辑是一个无关的问题,可以忽略这个特定的问题。

回答

2

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

+0

感谢您的回答。我按照你说的做了,但输出是一样的:( 它可能使用一些全球性的hgrc文件吗?我知道我在这里抓住吸管,但我真的不知道发生了什么 – Nebelhom 2013-03-24 02:26:08

+1

“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

+0

我调整了这篇文章给你更多的信息对不起,但它不是很多:(再次感谢你的帮助 – Nebelhom 2013-03-24 09:47:20