[Bug 6052] New: Merge with large number of changes corrupts repository

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri Jan 11 05:58:25 UTC 2019


https://bz.mercurial-scm.org/show_bug.cgi?id=6052

            Bug ID: 6052
           Summary: Merge with large number of changes corrupts repository
           Product: Mercurial
           Version: 4.8.1
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: rnagajek at gmail.com
                CC: mercurial-devel at mercurial-scm.org

I performed a merge from a parent branch to a child branch. There was a major
refactor in the parent branch including moving files around. The child merge
had 1490 files update. After the commit the repository was permanently
corrupted (i.e. I couldn't do anything with it, even verify it).

Command sequence:

hg merge release_10_1
hg commit -m "Merge from release_10_1"
hg status

** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64
bit (AMD64)]
** Mercurial Distributed SCM (version 4.7+11-cee9043c7dba)
** Extensions loaded: eol
Traceback (most recent call last):
  File "hg", line 50, in <module>
  File "mercurial\dispatch.pyo", line 90, in run
  File "mercurial\dispatch.pyo", line 213, in dispatch
  File "mercurial\dispatch.pyo", line 354, in _runcatch
  File "mercurial\dispatch.pyo", line 362, in _callcatch
  File "mercurial\scmutil.pyo", line 161, in callcatch
  File "mercurial\dispatch.pyo", line 344, in _runcatchfunc
  File "mercurial\dispatch.pyo", line 945, in _dispatch
  File "mercurial\hg.pyo", line 179, in repository
  File "mercurial\hg.pyo", line 170, in _peerorrepo
  File "hgext\eol.pyo", line 421, in reposetup
  File "hgext\eol.pyo", line 339, in _hgcleardirstate
  File "hgext\eol.pyo", line 332, in loadeol
  File "hgext\eol.pyo", line 242, in parseeol
  File "mercurial\context.pyo", line 85, in __getitem__
  File "mercurial\context.pyo", line 553, in filectx
  File "mercurial\context.pyo", line 268, in filenode
  File "mercurial\context.pyo", line 260, in _fileinfo
  File "mercurial\manifest.pyo", line 1457, in find
  File "mercurial\manifest.pyo", line 1427, in read
  File "mercurial\manifest.pyo", line 373, in __init__
  File "mercurial\manifest.pyo", line 126, in __init__
  File "mercurial\manifest.pyo", line 148, in findlines
ValueError: Manifest lines not in sorted order.

I've seen a similar bug in the TortoiseHg bug tracker, but for some reason it
was closed:
https://bitbucket.org/tortoisehg/thg/issues/5262/valueerror-manifest-lines-not-in-sorted

The resolution to this was to revert back to Mercurial 4.7.1, as mentioned in
the tortoise hg bug.

FYI the mercurial version on our server is 4.2.1.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list