evolve: extract logic of pre-checking divergence risk to its own function
Extracting the logic (which is used to check if rewriting an obsolete
revision will create divergence) to a function. This function will be used
in upcoming patches of pre-checking.
This is how we check if rewriting an obsolete revision will create
divergence. We need to check two cases:
If there is any
1) non-obsolete successor.
-> easily done by `obsutil.successorssets()`
2) precursor with non-obsolete successor.
-> using `evolvecmd.divergentsets()`
#!/usr/bin/make -f
#export DH_VERBOSE=1
%:
dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild
ifeq (,$(filter nodoc, $(DEB_BUILD_OPTIONS)))
override_dh_auto_build:
dh_auto_build
# Workaround for Sphinx in Debian Buster defaulting to Python 3
SPHINXBUILD="python -m sphinx -bhtml" $(MAKE) -C docs
endif
hgsrc_defined:
# Use "! -z" instead of "-n", because "-n" without arguments is true
test ! -z $(HGSRC) && test -d $(HGSRC) || (echo "$(HGSRC) is not a directory"; false)
ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
override_dh_auto_test: hgsrc_defined
cd tests && python $(HGSRC)/tests/run-tests.py --with-hg=$(HGSRC)/hg --blacklist=$(CURDIR)/debian/test-blacklist
endif
override_dh_python2:
# avoid conflict with mercurial's own hgext3rd/__init__.py
find debian -path '*/hgext3rd/__init__.py' -delete
dh_python2
override_dh_python3:
# avoid conflict with mercurial's own hgext3rd/__init__.py
find debian -path '*/hgext3rd/__init__.py' -delete
dh_python3
override_dh_auto_clean: clean-docs
dh_auto_clean
rm -f tests/*.err
clean-docs:
rm -rf html
rm -f docs/static/logo-evolve.ico
rm -f docs/tutorials/tutorial.rst
rm -f docs/tutorials/topic-tutorial.rst