<div class="gmail_quote">On Fri, Jan 28, 2011 at 1:18 AM, Mads Kiilerich <span dir="ltr"><<a href="mailto:mads@kiilerich.com" target="_blank">mads@kiilerich.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div>On 01/27/2011 04:03 PM, Richard Mason wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm trying to update a Windows http mercurial server to 1.7.3 to support<br>
dotencode repositories but have run into a problem I can't find<br>
mentioned anywhere.<br>
<br>
The server was originally running behind IIS using wsgi. I've switched<br>
it to the hgweb.cgi approach and also tried putting hgweb.cgi behind<br>
Apache. I've tried using both python 2.6 and 2.7 and have rebuilt HG<br>
from the source (after originally using windows binaries). I'm getting<br>
the same errors from hgweb.cgi no matter which python version I use or<br>
whether I use IIS or Apache.<br>
<br>
General browsing of the repositories through the webinterface seems<br>
fine. I can also clone and pull via https. The problem is when I try to<br>
push. It seems to be ok to push changes on existing files, but when I<br>
try to push a changeset with a new file in it I get a RevlogError<br>
indicating the index data for the new file is corrupted. HG verify<br>
reports no problems and I can push fine using the file system.<br>
<br>
I have checked file system security permissions and can see no problems<br>
(currently set full access to everyone).<br>
<br>
Could anybody suggest what may be going wrong? Error details are below:<br>
<br>
Traceback (most recent call last):<br>
File "C:/ApacheWebSites/hg/hgweb.cgi", line 18, in &lt;module&gt;<br>
wsgicgi.launch(application)<br>
File "C:\Python27\lib\site-packages\mercurial\hgweb\wsgicgi.py", line<br>
71, in launch<br>
content = application(environ, start_response)<br>
File "C:\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py",<br>
line 107, in __call__<br>
return self.run_wsgi(req)<br>
File "C:\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py",<br>
line 165, in run_wsgi<br>
return hgweb(repo).run_wsgi(req)<br>
File "C:\Python27\lib\site-packages\mercurial\hgweb\hgweb_mod.py",<br>
line 127, in run_wsgi<br>
return protocol.call(self.repo, req, cmd)<br>
File "C:\Python27\lib\site-packages\mercurial\hgweb\protocol.py",<br>
line 57, in call<br>
rsp = wireproto.dispatch(repo, p, cmd)<br>
File "C:\Python27\lib\site-packages\mercurial\wireproto.py", line<br>
148, in dispatch<br>
return func(repo, proto, *args)<br>
File "C:\Python27\lib\site-packages\mercurial\wireproto.py", line<br>
323, in unbundle<br>
lock=lock)<br>
File "C:\Python27\lib\site-packages\mercurial\localrepo.py", line<br>
1769, in addchangegroup<br>
fl = self.file(f)<br>
File "C:\Python27\lib\site-packages\mercurial\localrepo.py", line<br>
555, in file<br>
return filelog.filelog(self.sopener, f)<br>
File "C:\Python27\lib\site-packages\mercurial\filelog.py", line 24,<br>
in __init__<br>
"/".join(("data", path + ".i")))<br>
File "C:\Python27\lib\site-packages\mercurial\revlog.py", line 273,<br>
in __init__<br>
raise RevlogError(_("index %s is corrupted") % (self.indexfile))<br>
RevlogError: index data/Test.txt.i is corrupted<br>
</blockquote>
<br></div></div>
That might be <a href="http://mercurial.selenic.com/bts/issue1922" target="_blank">http://mercurial.selenic.com/bts/issue1922</a> . Installing pywin32 might solve the problem.<br><font color="#888888">
<br>
/Mads<br>
</font></blockquote></div><br><div>Unfortunately not. I installed pywin32 during the setup and reinstalled just then to double check. No change.</div><div><br></div><div>I've worked around it at the moment using hg serve behind a reverse proxy and that's working fine.</div>
<div><br></div><div>Richard</div>