Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial不断返回错误400:错误请求_Mercurial_Tortoisehg_Http Status Code 400 - Fatal编程技术网

Mercurial不断返回错误400:错误请求

Mercurial不断返回错误400:错误请求,mercurial,tortoisehg,http-status-code-400,Mercurial,Tortoisehg,Http Status Code 400,每当我尝试与服务器进行任何交互时,Mercurial都会返回“abort:HTTP错误400:Bad Request”。我们没有使用任何身份验证,所以这不是问题。我们有另外三个开发人员在同一个repo上工作,安装了相同版本的mercurial(2.2.3)。他们没有任何问题,所以这让我觉得我在破坏.hg文件夹中的某些东西。但我真的不知道 我可以从新的目录中克隆和工作。然而,大约4小时后,它又开始在新目录中发生。在那段时间里,我唯一做的事情就是承诺、拉动和推动。当我在几个小时后犯了错误并试图拉车时

每当我尝试与服务器进行任何交互时,Mercurial都会返回“abort:HTTP错误400:Bad Request”。我们没有使用任何身份验证,所以这不是问题。我们有另外三个开发人员在同一个repo上工作,安装了相同版本的mercurial(2.2.3)。他们没有任何问题,所以这让我觉得我在破坏.hg文件夹中的某些东西。但我真的不知道

我可以从新的目录中克隆和工作。然而,大约4小时后,它又开始在新目录中发生。在那段时间里,我唯一做的事情就是承诺、拉动和推动。当我在几个小时后犯了错误并试图拉车时,我又犯了错误

以下是传入的调试日志(hg--debug--traceback-incoming):

使用http://myserver/myapp
发送能力命令
相比http://myserver/myapp
问题1;头
发送批处理命令
搜索更改
采集初始样本
搜索:2个查询
问题2;尚未决定:208,样本量:200
发送已知命令
回溯(最近一次呼叫最后一次):
文件“mercurial\dispatch.pyo”,第88行,在runcatch中
文件“mercurial\dispatch.pyo”,第740行,在\u dispatch中
文件“mercurial\dispatch.pyo”,第514行,在runcommand中
文件“mercurial\dispatch.pyo”,第830行,在运行命令中
文件“mercurial\dispatch.pyo”,第801行,在checkargs中
文件“mercurial\dispatch.pyo”,第737行,在
检查文件“mercurial\util.pyo”,第472行
文件“mercurial\extensions.pyo”,第144行,换行
检查文件“mercurial\util.pyo”,第472行
mqcommand中第3528行的文件“hgext\mq.pyo”
检查文件“mercurial\util.pyo”,第472行
文件“mercurial\commands.pyo”,第3894行,输入
文件“mercurial\hg.pyo”,第513行,输入
文件“mercurial\hg.pyo”,第472行,输入
getremotechanges中第342行的文件“mercurial\bundlerepo.pyo”
文件“mercurial\discovery.pyo”,第45行,在FindCommon中
findcommonheads中第184行的文件“mercurial\setdiscovery.pyo”
文件“mercurial\wireproto.pyo”,第116行,普通格式
文件“mercurial\wireproto.pyo”,第164行,在
文件“mercurial\httppeer.pyo”,第170行,在调用中
文件“mercurial\httppeer.pyo”,第118行,在调用流中
文件“urllib2.pyo”,第406行,打开
文件“urllib2.pyo”,第519行,在http_响应中
文件“urllib2.pyo”第444行出错
文件“urllib2.pyo”,第378行,在调用链中
文件“urllib2.pyo”,第527行,默认为http\u error\u
HTTPError:HTTP错误400:请求错误
中止:HTTP错误400:错误请求

如前所述,我可以进行克隆,但如果我尝试运行传入、传出、拉入或推入,就会出现此错误

我通过运行

hg rollback
一旦我运行了它,它就取消了我的文件提交(但保留了更改,这样我就可以看到修改后的文件处于hg状态)。然后我就可以跑来跑去了。然后我重新提交我的代码,并毫无问题地将其推出


因此,在我提交时,一定有东西被破坏了,只是不知道为什么。

我不知道在这个特定的情况下有什么问题。但是对于相同的结果,我们遇到了一个不同的问题-传入命令和pull命令失败,导致
400个错误请求
。因此,如果
hg-v--debug
不起作用,下面是如何调查故障的收据

以捕获和显示HTTP流量为例。然后运行mercurial请求,如下所示:

hg --config http_proxy.host=127.0.0.1:8888 pull
配置会通过Fiddler重定向请求,Fiddler正在侦听端口8888。然后在Fiddler中,您可以找到红色的400回复,并在Inspectors窗格中查看整个消息,而不仅仅是代码

您可以查看有关我们问题、调查和解决方案的详细信息

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