[Bug 6219] New: mercurial can generate incomplete bundle, corrupting the repository
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Sun Nov 10 17:59:20 UTC 2019
https://bz.mercurial-scm.org/show_bug.cgi?id=6219
Bug ID: 6219
Summary: mercurial can generate incomplete bundle, corrupting
the repository
Product: Mercurial
Version: 5.2
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: Mercurial
Assignee: bugzilla at mercurial-scm.org
Reporter: pierre-yves.david at ens-lyon.org
CC: mercurial-devel at mercurial-scm.org
Python Version: 2.7
I can get Mercurial to generate a faulty bundle that corrupt a repository. I
don't know why yet. Here are the steps to reproduce:
$ hg clone -U --pull https://bitbucket.org/pypy/pypy pypy-corruption-repro
--rev ec943df3658f --rev fe07543a0b4e
adding changesets
adding manifests
adding file changes
added 38636 changesets with 122011 changes to 29784 files
new changesets 45eff2219997:ec943df3658f
$ hg verify -R pypy-corruption-repro
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checked 38636 changesets with 122011 changes to 29784 files
checking subrepo links
.hgsubstate is corrupt in revision bf2c629d0071
# (the .hgsubstate error is harmless: it is just about bad content for the
file)
$ hg --cwd pypy-corruption-repro cat --rev bf2c629d0071 .hgsubstate
80037 greenlet
80037 lib_pypy/pyrepl
80037 lib_pypy/sqlite3
80037 testrunner
$ hg -R pypy-corruption-repro pull --rev fb429e4f28bd
https://bitbucket.org/pypy/pypy
pulling from https://bitbucket.org/pypy/pypy
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (-1 heads)
new changesets fb429e4f28bd
(run 'hg update' to get a working copy)
$ hg verify -R pypy-corruption-repro
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
.hgsubstate at 38636: manifest refers to unknown revision 1a9c23c6e418
checked 38637 changesets with 122011 changes to 29784 files
1 integrity errors encountered!
(first damaged changeset appears to be 38636)
checking subrepo links
.hgsubstate is corrupt in revision bf2c629d0071
$ hg --cwd pypy-corruption-repro cat --rev 38636 .hgsubstate
abort: data/.hgsubstate.i at 1a9c23c6e418: no match found!
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list