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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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:为什么在推送到一个可以在浏览器中找到其URL的存储库时会出现404错误?_Mercurial_Http Status Code 404_Push - Fatal编程技术网

Mercurial:为什么在推送到一个可以在浏览器中找到其URL的存储库时会出现404错误?

Mercurial:为什么在推送到一个可以在浏览器中找到其URL的存储库时会出现404错误?,mercurial,http-status-code-404,push,Mercurial,Http Status Code 404,Push,我有一个Mercurial存储库,如果我在浏览器中导航到它,我可以很好地看到它,但是当我尝试推送时,默认路径设置为我在浏览器中访问的同一URL,我会得到以下结果: abort: HTTP Error 404: Not Found 我推送的URL是否应该在某些方面有所不同?这类似于,其中需要正确配置hgweb.config: / = /home/my_username/hg/** (最后是两颗星) 或者它是一个 对于https,您需要一个,否则您还可以得到404错误。 看 我也遇到了同样的问题

我有一个Mercurial存储库,如果我在浏览器中导航到它,我可以很好地看到它,但是当我尝试推送时,默认路径设置为我在浏览器中访问的同一URL,我会得到以下结果:

abort: HTTP Error 404: Not Found
我推送的URL是否应该在某些方面有所不同?

这类似于,其中需要正确配置
hgweb.config

/ = /home/my_username/hg/**
(最后是两颗星)

或者它是一个

对于https,您需要一个,否则您还可以得到404错误。


我也遇到了同样的问题,它最终成为CGI处理程序所允许的动词。我将其限制为GET、POST和HEAD,但最终将其更改为allow all,现在一切正常。

我们的主Mercurial存储库突然出现此错误,该存储库位于Windows 2008上的IIS下,Mercurial发布的查询字符串长度超过IIS选择处理的长度

您可以通过查看IIS日志中失败请求的子状态代码(通常是正常HTTP状态代码之后的数字)来判断。在这种情况下,IIS返回,这意味着查询字符串太长。别忘了检查您的子状态代码

要解决此问题,请执行以下操作:

#获取当前查询字符串大小限制
c:\windows\system32\inetsrv\appcmd列表配置/节:requestFiltering-文本:requestLimits.maxQueryString
#设置新的查询字符串大小限制
c:\windows\system32\inetsrv\appcmd set config/section:requestFiltering/requestLimits.maxQueryString:
“内容太大”是我所拥有的。转到IIS日志并查找“404 13”

要修复此问题,请在IIS管理器下,转到“请求筛选”选项,然后选择“标题”选项卡

然后转到右侧的“编辑要素设置”。然后为“允许的最大内容(字节)”字段选择一个非常大的数字


这解决了我的问题。

我在尝试推送大量变更集时收到此错误,其中一个变更集特别大,包含许多二进制文件(网站上的jpg更新)。[jpg在源头控制下,与源头在同一回购协议中可能不是最好的方法,但这不是重点。]


在这种情况下,如果您没有访问IIS配置的权限,一种解决方法是一次推送较少的变更集。在OrtoiseHG中,使用传出功能,右键单击要推送的子集的顶部变更集,然后选择“推送到此处”。重复。

这不是第二次,因为尝试似乎没有帮助。我应该在哪里拥有hgweb.config文件?我似乎找不到该文件在Windows(7)中的位置。@Mike:hgweb.config将位于服务器端:如果您没有访问权限,我们只能假设它是正确的,并且您的访问凭据/模式有某种错误。具体来说,我不知道是否是这样,但肯定是服务器端设置。第一个链接现在断开了。@Erica谢谢。我已经用一个类似问题的链接替换了那个旧链接(但不如旧问题精确)另请参见:当我将mercurial repos迁移到Bitbucket上的git时,得到了这个错误,URL是相同的,但忘记了它不再是mercurial…很好,这让我困惑了几个小时。我们有了这个确切的问题,您的答案修复了它,非常感谢!对于那些可能无法确定是否发生在自己身上的人,请在IIS日志中搜索字符串“404 15”,如果您在长时间查询后找到它,那么这个答案也会对您有所帮助。
[ui]

username = my.address@myco.com

password = mypassword

schemes = https

[paths]

default = https://myURL.kilnhg.com/Repo/Repositories/Groups/myrepo
 # Get the current query string size limit
 c:\windows\system32\inetsrv\appcmd list config /section:requestFiltering -text:requestLimits.maxQueryString

 # Set the new query string size limit
 c:\windows\system32\inetsrv\appcmd set config /section:requestFiltering /requestLimits.maxQueryString:<NEW SIZE>