evolve: improve error messages when conflicts occur
This patch improves the error messages when conflicts occur.
First, we drop the line 'evolution failed', that is not the best line we can
show and evolution didn't failed, it's just interrupted by the conflicts and
when user will run `hg evolve --continue`, things will be fine. I still remember
when I first saw 'evolution failed', I got a bit scare as am I in a recoverable
position or not. So let's drop this scary line.
Second, we replace the error messages to say `resolve conflicts and see
help-topic`. The help topic was added recently and documents all the three flags
very well. Addition of tests also showed that all the three flags works fine
with all the three instability type. So we should advertise them more.
Third, we now raise the error with our error message rather than raising
MergeFailure and having evolution related text in hint or stderr above. This
increase the focus on the error message we want to show.
After this patch, I think error messages by evolve in case of conflicts will be
same in every case.
#!/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
rm -f docs/tutorials/topic-tutorial.rst