2013-03-23 55 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