Mercurial > evolve
view .gitlab-ci.yml @ 5602:e25394b6d021 stable
ngtip: fix TypeError: make revset from revs, not nodes (issue6405)
This commit does two things:
- Firstly, it tweaks the ngtip revset test to exercise the -G/--graph
flag. This successfully triggers the bug when it is present.
- Secondly, it changes the `ngtip` revset to return a revset made from
integer revs instead of node hash bytes. The test now passes.
Details: The TypeError was triggered by running
hg log -r 'ngtip("default")' --graph
in a repository with more than one changeset. The --graph tag caused the
flow of control to call `reachableroots2` with the changeset ID found by
the `ngtip` revset. Because the changeset ID was a node hash (bytes)
instead of a rev (int), reachableroots2 raised the following error:
TypeError: an integer is required (got type bytes)
author | Sietse Brouwer <sbbrouwer@gmail.com> |
---|---|
date | Wed, 07 Oct 2020 09:34:59 +0200 |
parents | 2f572645b6d5 |
children | 98e2613d797d |
line wrap: on
line source
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" - echo testing with mercurial branch="$hg_rev", revision="$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')" - 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" - echo testing with mercurial branch="$hg_rev", revision="$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')" - (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" - echo testing with mercurial branch="$hg_rev", revision="$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')" - (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" - echo testing with mercurial branch="$hg_rev", revision="$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')" - (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" - echo testing with mercurial branch="$hg_rev", revision="$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')" - (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 PYTHONPATH: "/ci/repos/mercurial:$PYTHONPATH" artifacts: paths: - html/*