Mercurial仓库无法推送到Web服务器

3

我目前在Windows 2003 64位系统上运行Mercurial 1.7.5的Apache,并可以成功地从服务器克隆、推送和拉取存储库。我的问题是,当我克隆一个项目并将所有文件从/mainfolder/subfolders1/subfolders2移动到上一个文件夹,使subfolders1成为mainfolder时,就会出现问题。这个更改在本地存储库中提交得很好,也可以在本地克隆,但当我推送到服务器时,我会收到错误(等待很长时间后)

正在推送至http://xxxx:81/hg/hgweb.cgi/repox 正在搜索更改 HTTP错误504:网关超时

我尝试过恢复,但似乎没有解决问题。 我的.hg文件夹相对于系统中的其他文件夹来说有点大,因为有Oracle驱动程序(.hg文件夹总共51.8MB) 我已经尽可能地搜索了此问题,但似乎找不到任何运行自己服务器的人遇到类似的问题

如果需要,我可以进一步澄清这个问题...... 提前感谢您的帮助

Apache 2.2日志:

16.43.60 - - [09/Feb/2011:09:09:15 -0500] "GET /hg/hgweb.cgi/StringUtility?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" 200 1 10.16.43.60 - - [09/Feb/2011:09:09:15 -0500] "GET /hg/hgweb.cgi/StringUtility?cmd=capabilities HTTP/1.1" 200 79 10.16.43.60 - - [09/Feb/2011:09:09:15 -0500] "GET /hg/hgweb.cgi/StringUtility?cmd=heads HTTP/1.1" 200 41 10.16.43.60 - - [09/Feb/2011:09:09:15 -0500] "GET /hg/hgweb.cgi/StringUtility?cmd=branchmap HTTP/1.1" 200 171 10.16.43.60 - - [09/Feb/2011:09:09:34 -0500] "POST /hg/hgweb.cgi/StringUtility?cmd=unbundle&heads=2d00dc4fd9b975e4e8fc66a3fc0d212d4858d1d0 HTTP/1.1" 504 249

Apache 2.2错误日志:

[Wed Feb 09 09:14:39 2011] [error] [client 10.16.43.60] Script timed out before returning headers: hgweb.cgi

此外,当我尝试通过cmd进行推送(hg push [服务器])时,它似乎卡在“正在搜索更改”上。

您的Apache服务器日志记录了什么? - Paul Nathan
你是否告诉Mercurial你已经移动了它们,还是它记录了每个文件的删除+添加操作,从而重复了内容?如果是后者,我会考虑删除那个提交,通过使用Mercurial移动文件来重新进行更改(或者至少在此之后告诉它),然后重试推送。 - Lasse V. Karlsen
我尝试删除并重新添加它们到我想要的位置(提交已经捕捉到了),我还尝试了Tortoise中的“移动”,这个提交很好,但无法推送。 - Tyler Smith
也许我需要调整超时时间?每次尝试推送并超时时,似乎都会损坏存储库。我必须验证、恢复,再次验证,才能修复它。 - Tyler Smith
1个回答

1

我的解决方案(或变通方法)是我导出了补丁并修补了服务器。之后,我提交了一个新的.hgignore文件,它成功上传到服务器。我认为这是因为我提交时移动了大量文件。

谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接