[Bug 6590] New: IndexError: list index out of range in picksplitsuccessor in evolve/utility.py

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Thu Sep 9 18:04:16 UTC 2021


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

            Bug ID: 6590
           Summary: IndexError: list index out of range in
                    picksplitsuccessor in evolve/utility.py
           Product: Mercurial
           Version: stable branch
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: evolution
          Assignee: bugzilla at mercurial-scm.org
          Reporter: sphink at gmail.com
                CC: mercurial-devel at mercurial-scm.org,
                    pierre-yves.david at ens-lyon.org
    Python Version: ---

Created attachment 2122
  --> https://bz.mercurial-scm.org/attachment.cgi?id=2122&action=edit
Fix for list index out of range error

I am on stable, at bcdccdd48d99. I ran `hg evolve` and got the above error
message.

What seems to be happening is that `_utility.singlesuccessor` throws because it
finds multiple successors, but then when picksplitsuccessor tries to handle
that, it doesn't find any successors at all.

The problem appears to be that singlesuccessor does this loop up through
parents until it finds something, but picksplitsuccessor does not.

I will attach my attempt to work around the problem, which works for me but
uses `:=` and I don't actually understand any of the data model I'm patching.
It might be better to pass down the successors that are stored on the
`MultipleSuccessorsError` exception, rather than looking them up again?

(This fixed my problem locally.)

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


More information about the Mercurial-devel mailing list