Mercurial > hg
annotate tests/test-check-help.t @ 33409:50243c975fc2
bundle2: no longer use 'retractboundary' in updatephases
The new 'phase-heads' forced all added node to secret before advancing the
boundary to work around the fact changesets were added as draft by default.
This is no longer necessary since the changegroup part can now use the
'targetphase' parameter.
Not doing this retract boundary call has a couple of advantages:
* This makes implementing phases change tracking in the transaction much
simpler since retract boundary can become a rare case.
* Bundling secret changesets is not the norm. Exchange never does that and
even for strip, the use-case is not common.Skipping the retract boundary
will avoid useless work here.
* Sending phase update on push can be simplified since we can rely on the
behavior of 'cg.apply' for most of it.
This means less phases update send for example.
* We no longer needs to track and use the addednodes during unbundling. This
make it possible to have multiple 'changegroup' and 'phase-heads' parts in the
same bundle without them interfering with each others.
The new part has not been part of any release yet so we do not offer backward
compatibility yet. It is important to update this semantic before the 4.3
freeze happens.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 11 Jul 2017 05:06:01 +0200 |
parents | ddd65b4f3ae6 |
children | a36d3c8a0e41 |
rev | line source |
---|---|
30880
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
1 #require test-repo |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
2 |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
3 $ . "$TESTDIR/helpers-testrepo.sh" |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
4 |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
5 $ cat <<'EOF' > scanhelptopics.py |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
6 > from __future__ import absolute_import, print_function |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
7 > import re |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
8 > import sys |
31498
a248bbfa0bc7
test-check-help: fix to work on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
30880
diff
changeset
|
9 > if sys.platform == "win32": |
a248bbfa0bc7
test-check-help: fix to work on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
30880
diff
changeset
|
10 > import os, msvcrt |
a248bbfa0bc7
test-check-help: fix to work on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
30880
diff
changeset
|
11 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
30880
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
12 > topics = set() |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
13 > topicre = re.compile(r':hg:`help ([a-z0-9\-.]+)`') |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
14 > for fname in sys.argv: |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
15 > with open(fname) as f: |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
16 > topics.update(m.group(1) for m in topicre.finditer(f.read())) |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
17 > for s in sorted(topics): |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
18 > print(s) |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
19 > EOF |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
20 |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
21 $ cd "$TESTDIR"/.. |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
22 |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
23 Check if ":hg:`help TOPIC`" is valid: |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
24 (use "xargs -n1 -t" to see which help commands are executed) |
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
25 |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33116
diff
changeset
|
26 $ testrepohg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' \ |
33116
6c113a7dec52
tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents:
32940
diff
changeset
|
27 > | sed 's|\\|/|g' \ |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
32421
diff
changeset
|
28 > | xargs $PYTHON "$TESTTMP/scanhelptopics.py" \ |
30880
b6c051cd1231
help: test if "hg help TOPIC" reference is valid
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
29 > | xargs -n1 hg help > /dev/null |