evolve: use repo.setparents() instead of repo.dirstate.setparents()
setparents() was added to localrepository class in 2012, and now we finally
have some differences between calling repo.setparents() vs
repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3.
This patch fixes an actual quick-access desync problem where repo[b'.'] would
be different from repo.dirstate.p1(), as demonstrated by
test-evolve-phase-divergence.t when ran on hg 5.3rc0 and later.
Modified _uncommitdirstate() too, because it is used in dirstatedance(), which
sometimes follows repo.setparents() calls.
flake8:
image: octobus/ci-py2-hgext3rd
script:
- hg files -0 'set:(**.py or grep("^#!.*python")) - removed()' -X hgext3rd/evolve/thirdparty | xargs -0 flake8
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)