开发者

How can I get Mercurial to push commits again?

I'm not aware that I changed anything and am running Ubuntu 10.10. Mercurial had been working fine and then all of a sudden when I started pushing commits this morning I started receiving the following error:

** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) [GCC 4.4.5]
** Mercurial Distributed SCM (version 1.6.3)
** Extensions loaded: convert
Traceback (most recent call last):
  File "/usr/bin/hg", line 27, in <module>
    mercurial.dispatch.run()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 34, in dispatch
    return _runcatch(u, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 54, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 494, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 355, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 545, in _runcommand
    return checkargs()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 499, in checkargs
    return cmdfunc()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 492, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 420, in check
    return func(*arg开发者_Go百科s, **kwargs)
  File "/usr/lib/pymodules/python2.6/mercurial/commands.py", line 2855, in push
    newbranch=opts.get('new_branch'))
  File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 1227, in push
    return self.push_unbundle(remote, force, revs, newbranch)
  File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 1263, in push_unbundle
    return remote.unbundle(cg, remote_heads, 'push')
  File "/usr/lib/pymodules/python2.6/mercurial/httprepo.py", line 236, in unbundle
    tempname = changegroup.writebundle(cg, None, type)
  File "/usr/lib/pymodules/python2.6/mercurial/changegroup.py", line 106, in writebundle
    for chunk in chunkiter(cg):
  File "/usr/lib/pymodules/python2.6/mercurial/changegroup.py", line 31, in chunkiter
    c = getchunk(source)
  File "/usr/lib/pymodules/python2.6/mercurial/changegroup.py", line 14, in getchunk
    d = source.read(4)
  File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 924, in read
    for chunk in self.iter:
  File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 1613, in gengroup
    for chnk in filerevlog.group(nodeiter, lookup):
  File "/usr/lib/pymodules/python2.6/mercurial/revlog.py", line 1196, in group
    d = self.revdiff(a, b)
  File "/usr/lib/pymodules/python2.6/mercurial/revlog.py", line 1005, in revdiff
    return self._chunk(rev2)
  File "/usr/lib/pymodules/python2.6/mercurial/revlog.py", line 997, in _chunk
    return decompress(self._chunkraw(rev, rev))
  File "/usr/lib/pymodules/python2.6/mercurial/revlog.py", line 112, in decompress
    return _decompress(bin)
zlib.error: Error -5 while decompressing data: incomplete or truncated stream

I tried to Google parts of it, but I couldn't find anything relevant. Any ideas?

Thanks for looking. :)


I ran hg verify as Dan D. mentioned and ended up erasing my local repo and re-cloned it. This got me back on track.


This is a typical stacktrace from a corrupted server. The last (1.8) release helps having better error messages in that case.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜