hg pull patch无法解码

时间:2015-11-30 14:39:56

标签: version-control mercurial

在尝试从回购中拉出时,我收到以下错误

** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)]
** Mercurial Distributed SCM (version 3.6.1)
** Extensions loaded: eol, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.win32ill, tortoisehg.util.hgdispatch
Traceback (most recent call last):
  File "hg", line 49, in <module>
  File "mercurial\dispatch.pyo", line 54, in run
  File "mercurial\dispatch.pyo", line 116, in dispatch
  File "mercurial\dispatch.pyo", line 187, in _runcatch
  File "mercurial\dispatch.pyo", line 920, in _dispatch
  File "mercurial\dispatch.pyo", line 679, in runcommand
  File "mercurial\dispatch.pyo", line 1051, in _runcommand
  File "mercurial\dispatch.pyo", line 1011, in checkargs
  File "mercurial\dispatch.pyo", line 917, in <lambda>
  File "mercurial\util.pyo", line 801, in check
  File "mercurial\commands.pyo", line 5920, in serve
  File "mercurial\cmdutil.pyo", line 832, in service
  File "mercurial\commandserver.pyo", line 290, in run
  File "mercurial\commandserver.pyo", line 243, in serve
  File "mercurial\commandserver.pyo", line 221, in serveone
  File "mercurial\commandserver.pyo", line 204, in runcommand
  File "mercurial\dispatch.pyo", line 116, in dispatch
  File "mercurial\dispatch.pyo", line 187, in _runcatch
  File "mercurial\extensions.pyo", line 183, in closure
  File "tortoisehg\util\hgdispatch.pyo", line 23, in _dispatch
  File "mercurial\dispatch.pyo", line 920, in _dispatch
  File "mercurial\dispatch.pyo", line 679, in runcommand
  File "mercurial\dispatch.pyo", line 1051, in _runcommand
  File "mercurial\dispatch.pyo", line 1011, in checkargs
  File "mercurial\dispatch.pyo", line 917, in <lambda>
  File "mercurial\util.pyo", line 801, in check
  File "mercurial\commands.pyo", line 5282, in pull
  File "mercurial\hg.pyo", line 170, in peer
  File "mercurial\hg.pyo", line 152, in _peerorrepo
  File "hgext\eol.pyo", line 354, in reposetup
  File "hgext\eol.pyo", line 299, in _hgcleardirstate
  File "hgext\eol.pyo", line 292, in loadeol
  File "hgext\eol.pyo", line 217, in parseeol
  File "mercurial\context.pyo", line 70, in __getitem__
  File "mercurial\context.pyo", line 563, in filectx
  File "mercurial\context.pyo", line 247, in filenode
  File "mercurial\context.pyo", line 239, in _fileinfo
  File "mercurial\manifest.pyo", line 965, in find
  File "mercurial\manifest.pyo", line 956, in read
  File "mercurial\revlog.pyo", line 1115, in revision
mpatch.mpatchError: patch cannot be decoded
cmdserver: process exited unexpectedly with code 255

试图搜索这个我找到建议,试图验证回购告诉我从修订版302开始的腐败

然而,当我尝试(在持有存储库的远程系统上)执行hg恢复时,我只是被告知没有中断的事务。

我看到其他建议我需要重新安装mercurial但是 A)我试过这个和 B)其他存储库看起来很好

可能导致此问题的哪些问题或者我需要做些什么来获取更多信息以确定问题?

编辑添加:我还尝试重新克隆项目,但尝试拉动时遇到类似的错误。我能够从一台单独的机器拉出并推送回购。

我有一个同事试图从同一个回购中获取,他得到了以下内容:

pulling from /Volumes/SourceRepo/Yoda/BSD_Transformation
searching for changes
adding changesets
python(41809,0x7fff7592e000) malloc: *** error for object 0x7fc872603058: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

1 个答案:

答案 0 :(得分:1)

&#34;损坏&#34;并不意味着交易中断; hg会在推或拉时告诉你。这意味着存储库状态本身会破坏某些东西(在您的情况下从修订版302开始)。有些东西篡改了.hg目录中的文件,随后HG错过了它认为应该有的存储库历史信息。

hg verify的确切输出值得关注。

尝试使用hg clone -r301克隆存储库的健康部分,然后尝试从损坏的存储库中尽可能多地恢复。 https://www.mercurial-scm.org/wiki/RepositoryCorruption根据hg verify告诉您错误的内容提供更详细的建议。