evolve: support successors of ancestor of orphan with multiple roots
The previous code checked that the set of successors has a single root.
However, there’s no reason to require that in general.
Example:
o 6
|
o 5
|\
| o 4
| |
o | 3
|/
| * 2
| |
| x 1
|/
o 0
1 is obsoleted by 3, 4 and 6. We are considering the case when 2 gets evolved.
The roots are [3, 4] and the heads are [6]. Before the change, the user was
asked which destination to choose, but there was only one choice (6). After the
change, 6 is chosen as the destination.
flake8:
image: octobus/ci-py2-hgext3rd
script:
- hg files -0 'set:(**.py or grep("^#!.*python")) - removed()' -X hgext3rd/evolve/thirdparty | xargs -0 flake8
pytype:
image: octobus/ci-py3-hgext3rd
script:
- hg pull -R /ci/repos/mercurial/
- hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
- hg -R /ci/repos/mercurial/ update "$hg_rev"
- jobs=$(python -c 'import multiprocessing; print multiprocessing.cpu_count()')
- pytype -P /ci/repos/mercurial/:hgext3rd -k hgext3rd -x hgext3rd/evolve/thirdparty -j $jobs || true
when: manual
tests-py2-cext:
image: octobus/ci-py2-hgext3rd
script:
- hg pull -R /ci/repos/mercurial/
- hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
- hg -R /ci/repos/mercurial/ update "$hg_rev"
- (cd tests; /ci/repos/mercurial/tests/run-tests.py --color=always)
tests-py2-pure:
image: octobus/ci-py2-hgext3rd
script:
- hg pull -R /ci/repos/mercurial/
- hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
- hg -R /ci/repos/mercurial/ update "$hg_rev"
- (cd tests; /ci/repos/mercurial/tests/run-tests.py --color=always --pure)
tests-py3-cext:
image: octobus/ci-py3-hgext3rd
script:
- hg pull -R /ci/repos/mercurial/
- hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
- hg -R /ci/repos/mercurial/ update "$hg_rev"
- (cd tests; python3 /ci/repos/mercurial/tests/run-tests.py --color=always)
tests-py3-pure:
image: octobus/ci-py3-hgext3rd
script:
- hg pull -R /ci/repos/mercurial/
- hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
- hg -R /ci/repos/mercurial/ update "$hg_rev"
- (cd tests; python3 /ci/repos/mercurial/tests/run-tests.py --color=always --pure)
doc:
image: octobus/ci-py2-evolve-doc
script:
- cd docs/
- make
variables:
LANG: en_us.UTF-8
artifacts:
paths:
- html/*