RevlogError - index data corrupted when pushing new files via https

Richard Mason richard at rikware.com
Thu Jan 27 17:45:32 CST 2011


On Fri, Jan 28, 2011 at 1:18 AM, Mads Kiilerich <mads at kiilerich.com> wrote:

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

Unfortunately not. I installed pywin32 during the setup and reinstalled just
then to double check. No change.

I've worked around it at the moment using hg serve behind a reverse proxy
and that's working fine.

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20110128/65669d71/attachment.htm>


More information about the Mercurial mailing list