Mercurial > evolve
view MANIFEST.in @ 6224:17ffdea0edbb stable
evolve: look for split successors of the correct ancestor (issue6648)
Consider two changesets, 1 and 2. 1 is split into two new changesets and 2 is
pruned. If we stand on 2 and call hg evolve, _singlesuccessor() will traverse
ancestors of wdp in search of a changeset with successors to update to (it will
be 1, which was split). In case of a split, select_split_successor() gets
control. The issue is this function didn't traverse ancestors, and instead
tried to look up successors of the original changeset (i.e. 2 in our case,
which was pruned).
We can make select_split_successor() aware of _singlesuccessor() logic by using
the changeset that actually has successors without traversing ancestors again.
It's done by storing that changeset in MultipleSuccessorsError exception.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Thu, 21 Apr 2022 22:19:27 +0400 |
parents | fa2fc0cad459 |
children | 7f95546f584e dd518437d4e0 |
line wrap: on
line source
include CHANGELOG include COPYING include hgext3rd/topic/README include MANIFEST.in include README.rst include setup.py recursive-include hgext3rd *.py recursive-include tests *.py *.sh *.t include docs/makefile include docs/*.py include docs/README include docs/*.rst include docs/static/*.svg include docs/tutorials/*.t include docs/tutorial/standalone.html recursive-include docs/figures *.svg *.png recursive-include docs/tutorial *.css *.js *.md *.py *.rst *.sh *.t exclude docs/tutorial/.netlify exclude .gitlab-ci.yml exclude hgext3rd/evolve/legacy.py exclude .hg-format-source exclude Makefile exclude tests/test-drop.t exclude tests/test-oldconvert.t prune contrib prune debian prune .gitlab prune hgext3rd/evolve/hack