2012-08-23 19 views
6

जब भी मैं सर्वर के साथ कोई बातचीत करने की कोशिश करता हूं, Mercurial रिटर्न "abort: HTTP त्रुटि 400: खराब अनुरोध"। हम किसी प्रमाणीकरण का उपयोग नहीं कर रहे हैं, इसलिए यह कोई मुद्दा नहीं है। हमारे पास तीन अन्य डेवलपर्स एक ही रेपो पर काम कर रहे हैं जो कि Mercurial इंस्टॉल (2.2.3) के समान संस्करण के साथ काम करते हैं। उन्हें कोई समस्या नहीं है, इसलिए यह मुझे लगता है कि मैं .hg फ़ोल्डर या कुछ में कुछ दूषित कर रहा हूं। लेकिन मुझे वास्तव में कोई सुराग नहीं है।Mercurial लौटने में त्रुटि रहता है त्रुटि 400: खराब अनुरोध

मैं क्लोन करने और नई निर्देशिका से ठीक काम करने में सक्षम था। हालांकि, लगभग 4 घंटे बाद, यह भी नई निर्देशिका में फिर से शुरू हो रहा था। उस समय अवधि में मैंने जो कुछ किया वह प्रतिबद्ध, खींच, और धक्का था। जब मैंने कुछ घंटों बाद किया और खींचने की कोशिश की, तो जब मुझे फिर से त्रुटि मिली।

यहाँ भेजे लिए डीबग लॉग है (Hg --debug --traceback भेजे):

using http://myserver/myapp 
sending capabilities command 
comparing with http://myserver/myapp 
query 1; heads 
sending batch command 
searching for changes 
taking initial sample 
searching: 2 queries 
query 2; still undecided: 208, sample size is: 200 
sending known command 
Traceback (most recent call last): 
File "mercurial\dispatch.pyo", line 88, in _runcatch 
File "mercurial\dispatch.pyo", line 740, in _dispatch 
File "mercurial\dispatch.pyo", line 514, in runcommand 
File "mercurial\dispatch.pyo", line 830, in _runcommand 
File "mercurial\dispatch.pyo", line 801, in checkargs 
File "mercurial\dispatch.pyo", line 737, in <lambda> 
File "mercurial\util.pyo", line 472, in check 
File "mercurial\extensions.pyo", line 144, in wrap 
File "mercurial\util.pyo", line 472, in check 
File "hgext\mq.pyo", line 3528, in mqcommand 
File "mercurial\util.pyo", line 472, in check 
File "mercurial\commands.pyo", line 3894, in incoming 
File "mercurial\hg.pyo", line 513, in incoming 
File "mercurial\hg.pyo", line 472, in _incoming 
File "mercurial\bundlerepo.pyo", line 342, in getremotechanges 
File "mercurial\discovery.pyo", line 45, in findcommonincoming 
File "mercurial\setdiscovery.pyo", line 184, in findcommonheads 
File "mercurial\wireproto.pyo", line 116, in plain 
File "mercurial\wireproto.pyo", line 164, in _submitone 
File "mercurial\httppeer.pyo", line 170, in _call 
File "mercurial\httppeer.pyo", line 118, in _callstream 
File "urllib2.pyo", line 406, in open 
File "urllib2.pyo", line 519, in http_response 
File "urllib2.pyo", line 444, in error 
File "urllib2.pyo", line 378, in _call_chain 
File "urllib2.pyo", line 527, in http_error_default 
HTTPError: HTTP Error 400: Bad Request 
abort: HTTP Error 400: Bad Request 

जैसा कि मैंने पहले कहा, मैं एक क्लोन कर सकते हैं, लेकिन अगर मैं इनकमिंग, आउटगोइंग चलाने का प्रयास, खींचो, या धक्का, मुझे यह त्रुटि मिलती है।

उत्तर

6

मैं

hg rollback 

चल रहा एक बार मैं भाग गया है कि, यह मेरी फ़ाइलों अप्रतिबद्ध द्वारा इस समस्या को हल करने में सक्षम था (लेकिन परिवर्तन रखे, तो मैं एचजी स्थिति में संशोधित फ़ाइलों देख सकते हैं)। मैं तब आने और खींचने में सक्षम था। फिर मैंने अपना कोड दोबारा किया और बिना किसी समस्या के इसे धक्का दिया।

तो जब मैं प्रतिबद्ध करता हूं तो कुछ भ्रष्ट हो रहा है, बस यह सुनिश्चित नहीं है कि क्यों।

+0

मुझे बिल्कुल वही समस्या थी और यह ठीक है, धन्यवाद। –

2

मुझे नहीं पता कि इस विशिष्ट मामले में समस्या क्या है। लेकिन हमारे पास एक ही परिणाम के साथ एक अलग समस्या थी - आने वाले और पुल आदेश 400 Bad Request के साथ विफल रहे। इसलिए hg -v --debug मामले में विफलता की जांच कैसे करें, इसकी प्राप्ति यहां दी गई है।

HTTP ट्रैफ़िक को कैप्चर और प्रकट करने के लिए Fiddler लें। एक पूरे संदेश देखने के लिए फलक

hg --config http_proxy.host=127.0.0.1:8888 pull 

config और जो फ़िडलर में फिर बंदरगाह 8888. पर सुन रहा है Fiddler, के माध्यम से अनुरोध की रीडायरेक्ट का कारण बनता है, तो आप लाल 400 जबाब मिल सकता है निरीक्षकों में: फिर निम्नलिखित के रूप में तेज अनुरोध चलाने , केवल कोड नहीं।

आप हमारी समस्या, जांच और संकल्प के विवरण के लिए here देख सकते हैं।

संबंधित मुद्दे