RevlogError - index data corrupted when pushing new files via https

Richard Mason richard at rikware.com
Thu Jan 27 09:03:11 CST 2011


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

-->

Thanks, Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20110128/82f3b0dc/attachment.htm>


More information about the Mercurial mailing list