Mercurial > hg-stable
view tests/test-check-help.t @ 33704:855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
As the test case shows, when "hg rebase -d G -r 'B + D + F'" is run on
the following graph, we crash with traceback. It's reasonable to fail
because we can not easily produce a correct rebased F. The problem is
what diff to apply to either the rebased B or the rebased D. We could
potentially produce the result by e.g. applying the (F-D) diff to the
rebased B and then applying the reverse (E-D) diff on top, but that
could result in merge conflicts in each of those steps, which we don't
have a way of dealing with. So for now, let's just add a test case to
demonstrate that we crash (i.e. the AssertionError is clearly
incorrect since the user can run into it).
F
/|
C E
| |
B D G
\|/
A
Differential Revision: https://phab.mercurial-scm.org/D212
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 14 Jul 2017 14:30:55 -0700 |
parents | ddd65b4f3ae6 |
children | a36d3c8a0e41 |
line wrap: on
line source
#require test-repo $ . "$TESTDIR/helpers-testrepo.sh" $ cat <<'EOF' > scanhelptopics.py > from __future__ import absolute_import, print_function > import re > import sys > if sys.platform == "win32": > import os, msvcrt > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) > topics = set() > topicre = re.compile(r':hg:`help ([a-z0-9\-.]+)`') > for fname in sys.argv: > with open(fname) as f: > topics.update(m.group(1) for m in topicre.finditer(f.read())) > for s in sorted(topics): > print(s) > EOF $ cd "$TESTDIR"/.. Check if ":hg:`help TOPIC`" is valid: (use "xargs -n1 -t" to see which help commands are executed) $ testrepohg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' \ > | sed 's|\\|/|g' \ > | xargs $PYTHON "$TESTTMP/scanhelptopics.py" \ > | xargs -n1 hg help > /dev/null