stablesort: record, cache and reuse jump
Iterating below a merge means two things:
1) iterate over the part exclusive to the higher parents,
2) iterate from the lower parents.
While iterating on the exclusive part, there will be case were we just go the
next natural parent, and case were we'll have to "jump" to another revision. If
we record all point this "jump" happens and their target, we can easily
reproduce the iteration in the future. With that information we can iterate over
the exclusive part of the merge without having to compute it entirely.
In addition we store the reason of the jump. This will help the stable range
processing later.
#!/usr/bin/make -f
#export DH_VERBOSE=1
%:
dh $@ --with python2 --buildsystem=python_distutils
override_dh_auto_build:
dh_auto_build
$(MAKE) -C docs
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_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