<div class="gmail_quote">On Fri, Jan 28, 2011 at 1:18 AM, Mads Kiilerich <span dir="ltr">&lt;<a href="mailto:mads@kiilerich.com" target="_blank">mads@kiilerich.com</a>&gt;</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&#39;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&#39;t find<br>
mentioned anywhere.<br>
<br>
The server was originally running behind IIS using wsgi. I&#39;ve switched<br>
it to the hgweb.cgi approach and also tried putting hgweb.cgi behind<br>
Apache. I&#39;ve tried using both python 2.6 and 2.7 and have rebuilt HG<br>
from the source (after originally using windows binaries). I&#39;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 &quot;C:/ApacheWebSites/hg/hgweb.cgi&quot;, line 18, in &amp;lt;module&amp;gt;<br>
     wsgicgi.launch(application)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\hgweb\wsgicgi.py&quot;, line<br>
71, in launch<br>
     content = application(environ, start_response)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py&quot;,<br>
line 107, in __call__<br>
     return self.run_wsgi(req)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py&quot;,<br>
line 165, in run_wsgi<br>
     return hgweb(repo).run_wsgi(req)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\hgweb\hgweb_mod.py&quot;,<br>
line 127, in run_wsgi<br>
     return protocol.call(self.repo, req, cmd)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\hgweb\protocol.py&quot;,<br>
line 57, in call<br>
     rsp = wireproto.dispatch(repo, p, cmd)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\wireproto.py&quot;, line<br>
148, in dispatch<br>
     return func(repo, proto, *args)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\wireproto.py&quot;, line<br>
323, in unbundle<br>
     lock=lock)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\localrepo.py&quot;, line<br>
1769, in addchangegroup<br>
     fl = self.file(f)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\localrepo.py&quot;, line<br>
555, in file<br>
     return filelog.filelog(self.sopener, f)<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\filelog.py&quot;, line 24,<br>
in __init__<br>
&quot;/&quot;.join((&quot;data&quot;, path + &quot;.i&quot;)))<br>
   File &quot;C:\Python27\lib\site-packages\mercurial\revlog.py&quot;, line 273,<br>
in __init__<br>
     raise RevlogError(_(&quot;index %s is corrupted&quot;) % (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&#39;ve worked around it at the moment using hg serve behind a reverse proxy and that&#39;s working fine.</div>


<div><br></div><div>Richard</div>