checkheads: handle partial obsolescence
We now properly detects situations were only parts of the remote branch is
obsoleted. To do so, we process children in the branch recursively to see if
they will be obsolete.
The current code has some trouble when the remote branch in unknown locally, or
when the prune happened on a successors that is not relevant to the push. These
case will be handled later.
The processing code is becoming more and more complex, a lighter approach would
be to check for the obsolescence markers that are relevant to the pushed set,
but I prefer to stick with the current approach until more test cases are
written.
exclude contrib
recursive-exclude contrib *
exclude hgext3rd/evolve/hack
recursive-exclude hgext3rd/evolve/hack *
exclude hgext3rd/evolve/legacy.py
exclude Makefile
exclude tests/test-drop.t
exclude tests/test-inhibit.t
exclude tests/test-oldconvert.t
include COPYING
include docs/figures/hgview-example.png
include docs/makefile
include docs/*.py
include docs/README
include docs/*.rst
include docs/static/*.svg
include docs/tutorials/*.t
include hgext3rd/__init__.py
include hgext3rd/evolve/*.py
include hgext3rd/topic/*.py
include MANIFEST.in
include README
include README-topic
include setup.py
include tests/*.py
include tests/*.sh
include tests/testlib/*.sh
include tests/*.t
prune debian
recursive-include docs/figures *.svg