frej / fast-export

A mercurial to git converter using git-fast-import
http://repo.or.cz/w/fast-export.git
808 stars 255 forks source link

Error -5 while decompressing data #324

Closed cmoine closed 6 months ago

cmoine commented 6 months ago

I have the following error when migrating an ancient HG project:

../fast-export/hg-fast-export.sh -r ../SailAssistant -A ../authors 
Invalid file format in [../authors], line 1
Loaded 0 authors
master: Exporting full revision 1/8 with 46/0 modified/removed files
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 2314, in decompress
    return _zlibdecompress(data)
zlib.error: Error -5 while decompressing data: incomplete or truncated stream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/christophe/Downloads/fast-export/hg-fast-export.py", line 694, in <module>
    sys.exit(hg2git(options.repourl,m,options.marksfile,options.mappingfile,
  File "/home/christophe/Downloads/fast-export/hg-fast-export.py", line 547, in hg2git
    c=export_commit(ui,repo,rev,old_marks,max,c,authors,branchesmap,
  File "/home/christophe/Downloads/fast-export/hg-fast-export.py", line 332, in export_commit
    export_file_contents(ctx,man,modified,hgtags,fn_encoding,plugins)
  File "/home/christophe/Downloads/fast-export/hg-fast-export.py", line 187, in export_file_contents
    d=file_ctx.data()
  File "/usr/lib/python3/dist-packages/mercurial/context.py", line 1322, in data
    return self._filelog.read(self._filenode)
  File "/usr/lib/python3/dist-packages/mercurial/filelog.py", line 189, in read
    return storageutil.filtermetadata(self.revision(node))
  File "/usr/lib/python3/dist-packages/mercurial/filelog.py", line 101, in revision
    return self._revlog.revision(node, _df=_df)
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 1786, in revision
    return self._revisiondata(nodeorrev, _df)
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 1817, in _revisiondata
    rev, rawtext, validated = self._rawtext(node, rev, _df=_df)
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 1880, in _rawtext
    bins = self._chunks(chain, df=_df, targetsize=targetsize)
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 1721, in _chunks
    ladd(decomp(c))
  File "/usr/lib/python3/dist-packages/mercurial/revlog.py", line 2316, in decompress
    raise error.RevlogError(
mercurial.error.RevlogError: revlog decompress error: Error -5 while decompressing data: incomplete or truncated stream
Unpacking objects: 100% (2/2), 150 bytes | 150.00 KiB/s, done.
fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects:       5000
Total objects:            2 (         0 duplicates                  )
      blobs  :            0 (         0 duplicates          0 deltas of          0 attempts)
      trees  :            1 (         0 duplicates          0 deltas of          0 attempts)
      commits:            1 (         0 duplicates          0 deltas of          0 attempts)
      tags   :            0 (         0 duplicates          0 deltas of          0 attempts)
Total branches:           1 (         1 loads     )
      marks:           1024 (         1 unique    )
      atoms:              0
Memory total:          2399 KiB
       pools:          2048 KiB
     objects:           351 KiB
---------------------------------------------------------------------
pack_report: getpagesize()            =       4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit      = 35184372088832
pack_report: pack_used_ctr            =          0
pack_report: pack_mmap_calls          =          0
pack_report: pack_open_windows        =          0 /          0
pack_report: pack_mapped              =          0 /          0
---------------------------------------------------------------------

any idea please? (I run "hg log" on my repo, everythign looks good yet)

frej commented 6 months ago

Your hg repo is probably corrupt, does hg verify and/or hg admin::verify say that it is correct?

frej commented 6 months ago

No feedback in a week, closing as the most probable reason for the crash is a corrupt repo.