我怎样才能让Mercurial再次推送提交?

时间:2010-12-07 14:45:33

标签: python mercurial bitbucket

我不知道我改变了什么,正在运行Ubuntu 10.10。 Mercurial工作正常,然后突然间,当我今天早上开始推送提交时,我开始收到以下错误:

** 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(*args, **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

我尝试了谷歌的一部分,但我找不到任何相关的东西。有什么想法吗?

谢谢你的期待。 :)

2 个答案:

答案 0 :(得分:2)

我在Dan D.提到的时候跑了hg verify并最终删除了我当地的回购并重新克隆了它。这让我重回正轨。

答案 1 :(得分:1)

这是来自损坏的服务器的典型堆栈跟踪。在这种情况下,最后一个(1.8)版本有助于获得更好的错误消息。