2010-06-06 95 views
0

我想服務與Apache的merurial存儲庫,當我試圖推到回購我看到這在Apache的error.log。在客戶端,我得到一個500錯誤。DeprecationWarning當推到Mercurial回購

我該如何解決這個問題?

[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] /var/lib/python-support/python2.6/mercurial/hgweb/common.py:24: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 
[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] self.message = message 
[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] /var/lib/python-support/python2.6/mercurial/hgweb/hgweb_mod.py:104: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 
[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] if not inst.message: 
[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] /var/lib/python-support/python2.6/mercurial/hgweb/hgweb_mod.py:106: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 
[Sun Jun 06 14:43:25 2010] [error] [client 192.168.1.8] return '0\\n%s\\n' % inst.message, 

回答

0

棄用警告是一種紅鯡魚。它只是讓你知道服務器代碼以最終不受支持的方式訪問python異常。你真正想要發現的是什麼例外是首先提出的。 (有沒有與500錯誤沿着一條錯誤消息?)

+0

不,這是我在我的控制檯中看到: 推到http://hg.corp.localproject.com/hgwebdir.cgi/localproject 搜索更改 中止:HTTP錯誤500:內部服務器錯誤 – 2010-06-06 20:03:24

+0

在棄用警告後,服務器日誌中沒有其他內容了嗎?它看起來像試圖返回一個錯誤代碼和消息,我希望這將顯示在服務器輸出中(因此也是客戶端輸出)。在這種情況下,我建議通過使用wireshark嗅探服務器響應或臨時編輯hgweb_mod.py第106行並在返回語句前插入'raise inst#'(並在再次嘗試時觀察服務器日誌)來發現異常消息。 – 2010-06-06 20:10:14

+0

如果一切都失敗了,Mercurial郵件列表中的某個人之前可能看到過這個問題。 http://selenic.com/mailman/listinfo/mercurial – 2010-06-06 20:11:15