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 <module>
>> 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