annotate tests/test-hook.t @ 47120:7109a38830c9

dirstate-tree: Fold "tracked descendants" counter update in main walk For the purpose of implementing `has_tracked_dir` (which means "has tracked descendants) without an expensive sub-tree traversal, we maintaing a counter of tracked descendants on each "directory" node of the tree-shaped dirstate. Before this changeset, mutating or inserting a node at a given path would involve: * Walking the tree from root through ancestors to find the node or the spot where to insert it * Looking at the previous node if any to decide what counter update is needed * Performing any node mutation * Walking the tree *again* to update counters in ancestor nodes When profiling `hg status` on a large repo, this second walk takes times while loading a the dirstate from disk. It turns out we have enough information to decide before he first tree walk what counter update is needed. This changeset merges the two walks, gaining ~10% of the total time for `hg update` (in the same hyperfine benchmark as the previous changeset). --- Profiling was done by compiling with this `.cargo/config`: [profile.release] debug = true then running with: py-spy record -r 500 -n -o /tmp/hg.json --format speedscope -- \ ./hg status -R $REPO --config experimental.dirstate-tree.in-memory=1 then visualizing the recorded JSON file in https://www.speedscope.app/ Differential Revision: https://phab.mercurial-scm.org/D10554
author Simon Sapin <simon.sapin@octobus.net>
date Fri, 30 Apr 2021 14:22:14 +0200
parents 802ba3c81507
children 7ee07e1a25c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
1 commit hooks can see env vars
24821
57f1dbc99631 afterlock: add the callback to the top level lock (issue4608)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24792
diff changeset
2 (and post-transaction one are run unlocked)
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
3
25370
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
4
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
5 $ cat > $TESTTMP/txnabort.checkargs.py <<EOF
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
6 > from mercurial import pycompat
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
7 > def showargs(ui, repo, hooktype, **kwargs):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
8 > kwargs = pycompat.byteskwargs(kwargs)
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
9 > ui.write(b'%s Python hook: %s\n' % (hooktype,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
10 > b','.join(sorted(kwargs))))
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
11 > EOF
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
12
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
13 $ hg init a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
14 $ cd a
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
15 $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
16 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
17 > commit = sh -c "HG_LOCAL= HG_TAG= printenv.py --line commit"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
18 > commit.b = sh -c "HG_LOCAL= HG_TAG= printenv.py --line commit.b"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
19 > precommit = sh -c "HG_LOCAL= HG_NODE= HG_TAG= printenv.py --line precommit"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
20 > pretxncommit = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxncommit"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
21 > pretxncommit.tip = hg -q tip
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
22 > pre-identify = sh -c "printenv.py --line pre-identify 1"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
23 > pre-cat = sh -c "printenv.py --line pre-cat"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
24 > post-cat = sh -c "printenv.py --line post-cat"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
25 > pretxnopen = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxnopen"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
26 > pretxnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxnclose"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
27 > txnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py --line txnclose"
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
28 > txnabort.0 = python:$TESTTMP/txnabort.checkargs.py:showargs
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
29 > txnabort.1 = sh -c "HG_LOCAL= HG_TAG= printenv.py --line txnabort"
24827
2f2de8a7f97f test-hook.t: don't directly use redirect to /dev/null in hook for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24821
diff changeset
30 > txnclose.checklock = sh -c "hg debuglock > /dev/null"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
31 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
32 $ echo a > a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
33 $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
34 $ hg commit -m a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
35 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
36 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
37 HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
38
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
39 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
40 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
41 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
42 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
43
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
44 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
45 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
46 HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
47 HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
48 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
49
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
50 0:cb9a9f314b8b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
51 pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
52 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
53 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
54 HG_PHASES_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
55 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
56 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
57
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
58 txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
59 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
60 HG_PHASES_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
61 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
62 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
63
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
64 commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
65 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
66 HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
67 HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
68
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
69 commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
70 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
71 HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
72 HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
73
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
74
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
75 $ hg clone . ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
76 updating to branch default
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
77 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
78 $ cd ../b
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
79
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
80 changegroup hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
81
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
82 $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
83 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
84 > prechangegroup = sh -c "printenv.py --line prechangegroup"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
85 > changegroup = sh -c "printenv.py --line changegroup"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
86 > incoming = sh -c "printenv.py --line incoming"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
87 > EOF
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
88
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
89 pretxncommit and commit hooks can see both parents of merge
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
90
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
91 $ cd ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
92 $ echo b >> a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
93 $ hg commit -m a1 -d "1 0"
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
94 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
95 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
96 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
97
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
98 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
99 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
100 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
101 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
102
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
103 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
104 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
105 HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
106 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
107 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
108
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
109 1:ab228980c14d
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
110 pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
111 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
112 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
113 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
114 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
115
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
116 txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
117 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
118 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
119 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
120
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
121 commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
122 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
123 HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
124 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
125
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
126 commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
127 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
128 HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
129 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
130
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
131 $ hg update -C 0
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
132 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
133 $ echo b > b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
134 $ hg add b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
135 $ hg commit -m b -d '1 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
136 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
137 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
138 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
139
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
140 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
141 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
142 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
143 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
144
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
145 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
146 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
147 HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
148 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
149 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
150
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
151 2:ee9deb46ab31
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
152 pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
153 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
154 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
155 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
156 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
157
27192
a01d3d32b53a commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26861
diff changeset
158 created new head
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
159 txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
160 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
161 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
162 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
163
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
164 commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
165 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
166 HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
167 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
168
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
169 commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
170 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
171 HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
172 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
173
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
174 $ hg merge 1
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
175 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
176 (branch merge, don't forget to commit)
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
177 $ hg commit -m merge -d '2 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
178 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
179 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
180 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
181 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
182
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
183 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
184 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
185 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
186 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
187
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
188 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
189 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
190 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
191 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
192 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
193 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
194
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
195 3:07f3376c1e65
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
196 pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
197 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
198 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
199 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
200 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
201
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
202 txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
203 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
204 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
205 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
206
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
207 commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
208 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
209 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
210 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
211 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
212
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
213 commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
214 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
215 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
216 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
217 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
218
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
219
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
220 test generic hooks
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
221
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
222 $ hg id
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
223 pre-identify hook: HG_ARGS=id
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
224 HG_HOOKNAME=pre-identify
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
225 HG_HOOKTYPE=pre-identify
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
226 HG_OPTS={'bookmarks': None, 'branch': None, 'id': None, 'insecure': None, 'num': None, 'remotecmd': '', 'rev': '', 'ssh': '', 'tags': None, 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
227 HG_PATS=[]
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
228
19011
12acbea17625 dispatch: print 'abort:' when a pre-command hook fails (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 18851
diff changeset
229 abort: pre-identify hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
230 [40]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
231 $ hg cat b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
232 pre-cat hook: HG_ARGS=cat b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
233 HG_HOOKNAME=pre-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
234 HG_HOOKTYPE=pre-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
235 HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': '', 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
236 HG_PATS=['b']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
237
13121
bf763946f8b0 make_file: always return a fresh file handle that can be closed
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12640
diff changeset
238 b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
239 post-cat hook: HG_ARGS=cat b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
240 HG_HOOKNAME=post-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
241 HG_HOOKTYPE=post-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
242 HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': '', 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
243 HG_PATS=['b']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
244 HG_RESULT=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
245
4630
e6d105a51ec7 dispatch: add generic pre- and post-command hooks
Matt Mackall <mpm@selenic.com>
parents: 4368
diff changeset
246
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
247 $ cd ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
248 $ hg pull ../a
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
249 pulling from ../a
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
250 searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
251 prechangegroup hook: HG_HOOKNAME=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
252 HG_HOOKTYPE=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
253 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
254 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
255 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
256 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
257 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
258
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
259 adding changesets
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
260 adding manifests
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
261 adding file changes
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
262 added 3 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
263 new changesets ab228980c14d:07f3376c1e65
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
264 changegroup hook: HG_HOOKNAME=changegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
265 HG_HOOKTYPE=changegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
266 HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
267 HG_NODE_LAST=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
268 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
269 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
270 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
271 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
272 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
273
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
274 incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
275 HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
276 HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
277 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
278 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
279 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
280 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
281 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
282
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
283 incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
284 HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
285 HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
286 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
287 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
288 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
289 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
290 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
291
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
292 incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
293 HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
294 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
295 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
296 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
297 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
298 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
299 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
300
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
301 (run 'hg update' to get a working copy)
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
302
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
303 tag hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
304
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
305 $ cd ../a
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
306 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
307 > pretag = sh -c "printenv.py --line pretag"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
308 > tag = sh -c "HG_PARENT1= HG_PARENT2= printenv.py --line tag"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
309 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
310 $ hg tag -d '3 0' a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
311 pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
312 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
313 HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
314 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
315 HG_TAG=a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
316
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
317 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
318 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
319 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
320
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
321 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
322 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
323 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
324 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
325
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
326 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
327 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
328 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
329 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
330 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
331
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
332 4:539e4b31b6dc
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
333 pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
334 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
335 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
336 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
337 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
338
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
339 tag hook: HG_HOOKNAME=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
340 HG_HOOKTYPE=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
341 HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
342 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
343 HG_TAG=a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
344
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
345 txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
346 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
347 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
348 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
349
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
350 commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
351 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
352 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
353 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
354
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
355 commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
356 HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
357 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
358 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
359
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
360 $ hg tag -l la
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
361 pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
362 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
363 HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
364 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
365 HG_TAG=la
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
366
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
367 tag hook: HG_HOOKNAME=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
368 HG_HOOKTYPE=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
369 HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
370 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
371 HG_TAG=la
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
372
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
373
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
374 pretag hook can forbid tagging
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
375
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
376 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
377 > pretag.forbid = sh -c "printenv.py --line pretag.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
378 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
379 $ hg tag -d '4 0' fa
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
380 pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
381 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
382 HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
383 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
384 HG_TAG=fa
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
385
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
386 pretag.forbid hook: HG_HOOKNAME=pretag.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
387 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
388 HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
389 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
390 HG_TAG=fa
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
391
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
392 abort: pretag.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
393 [40]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
394 $ hg tag -l fla
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
395 pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
396 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
397 HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
398 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
399 HG_TAG=fla
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
400
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
401 pretag.forbid hook: HG_HOOKNAME=pretag.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
402 HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
403 HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
404 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
405 HG_TAG=fla
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
406
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
407 abort: pretag.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
408 [40]
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
409
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
410 pretxncommit hook can see changeset, can roll back txn, changeset no
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
411 more there after
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
412
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
413 $ cat >> .hg/hgrc <<EOF
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
414 > pretxncommit.forbid0 = sh -c "hg tip -q"
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
415 > pretxncommit.forbid1 = sh -c "printenv.py --line pretxncommit.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
416 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
417 $ echo z > z
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
418 $ hg add z
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
419 $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
420 4:539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
421 $ hg commit -m 'fail' -d '4 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
422 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
423 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
424 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
425
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
426 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
427 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
428 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
429 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
430
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
431 pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
432 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
433 HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
434 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
435 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
436
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
437 5:6f611f8018c1
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
438 5:6f611f8018c1
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
439 pretxncommit.forbid hook: HG_HOOKNAME=pretxncommit.forbid1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
440 HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
441 HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
442 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
443 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
444
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
445 transaction abort!
44835
09da5cf44772 hooks: provide access to transaction changes for internal hooks
Joerg Sonnenberger <joerg@bec.de>
parents: 44121
diff changeset
446 txnabort Python hook: changes,txnid,txnname
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
447 txnabort hook: HG_HOOKNAME=txnabort.1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
448 HG_HOOKTYPE=txnabort
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
449 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
450 HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
451
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
452 rollback completed
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
453 abort: pretxncommit.forbid1 hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
454 [40]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
455 $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
456 4:539e4b31b6dc
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
457
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
458 (Check that no 'changelog.i.a' file were left behind)
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
459
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
460 $ ls -1 .hg/store/
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
461 00changelog.i
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
462 00manifest.i
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
463 data
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36109
diff changeset
464 fncache (repofncache !)
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
465 journal.phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
466 phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
467 undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36109
diff changeset
468 undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23749
diff changeset
469 undo.backupfiles
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
470 undo.phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
471
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
472
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
473 precommit hook can prevent commit
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
474
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
475 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
476 > precommit.forbid = sh -c "printenv.py --line precommit.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
477 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
478 $ hg commit -m 'fail' -d '4 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
479 precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
480 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
481 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
482
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
483 precommit.forbid hook: HG_HOOKNAME=precommit.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
484 HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
485 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
486
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
487 abort: precommit.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
488 [40]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
489 $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
490 4:539e4b31b6dc
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
491
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
492 preupdate hook can prevent update
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
493
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
494 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
495 > preupdate = sh -c "printenv.py --line preupdate"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
496 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
497 $ hg update 1
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
498 preupdate hook: HG_HOOKNAME=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
499 HG_HOOKTYPE=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
500 HG_PARENT1=ab228980c14d
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
501
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
502 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
2266
3f7692b0ff13 hooks: add preupdate and update hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2227
diff changeset
503
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
504 update hook
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
505
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
506 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
507 > update = sh -c "printenv.py --line update"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
508 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
509 $ hg update
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
510 preupdate hook: HG_HOOKNAME=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
511 HG_HOOKTYPE=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
512 HG_PARENT1=539e4b31b6dc
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
513
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
514 update hook: HG_ERROR=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
515 HG_HOOKNAME=update
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
516 HG_HOOKTYPE=update
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
517 HG_PARENT1=539e4b31b6dc
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
518
26028
6fbe35588433 update: wlock the repo for the whole 'hg update' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25744
diff changeset
519 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
2266
3f7692b0ff13 hooks: add preupdate and update hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2227
diff changeset
520
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
521 pushkey hook
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
522
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
523 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
524 > pushkey = sh -c "printenv.py --line pushkey"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
525 > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
526 $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
527 $ hg bookmark -r null foo
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
528 $ hg push -B foo ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
529 pushing to ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
530 searching for changes
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
531 no changes found
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
532 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
533 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
534 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
535 HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
536
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
537 pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
538 HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
539 HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
540 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
541 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
542 HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
543 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
544 HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
545 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
546
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
547 pushkey hook: HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
548 HG_HOOKNAME=pushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
549 HG_HOOKTYPE=pushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
550 HG_KEY=foo
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
551 HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
552 HG_NEW=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
553 HG_PUSHKEYCOMPAT=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
554 HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
555 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
556 HG_TXNNAME=push
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
557 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
558
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
559 txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
560 HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
561 HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
562 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
563 HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
564 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
565 HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
566 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
567
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
568 exporting bookmark foo
16038
dad96e752079 push: don't treat bookmark as a found change
Matt Mackall <mpm@selenic.com>
parents: 15956
diff changeset
569 [1]
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
570 $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
571
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
572 listkeys hook
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
573
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
574 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
575 > listkeys = sh -c "printenv.py --line listkeys"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
576 > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
577 $ hg bookmark -r null bar
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
578 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
579 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
580 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
581 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
582
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
583 pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
584 HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
585 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
586 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
587 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
588 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
589
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
590 txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
591 HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
592 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
593 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
594 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
595
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
596 $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
597 $ hg pull -B bar ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
598 pulling from ../a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
599 listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
600 HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
601 HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
602 HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
603
25370
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
604 no changes found
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
605 adding remote bookmark bar
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
606 $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
607
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
608 test that prepushkey can prevent incoming keys
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
609
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
610 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
611 > prepushkey = sh -c "printenv.py --line prepushkey.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
612 > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
613 $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
614 $ hg bookmark -r null baz
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
615 $ hg push -B baz ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
616 pushing to ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
617 searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
618 listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
619 HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
620 HG_NAMESPACE=phases
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
621 HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
622
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
623 listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
624 HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
625 HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
626 HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
627
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
628 no changes found
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
629 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
630 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
631 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
632 HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
633
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
634 prepushkey.forbid hook: HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
635 HG_HOOKNAME=prepushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
636 HG_HOOKTYPE=prepushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
637 HG_KEY=baz
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
638 HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
639 HG_NEW=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
640 HG_PUSHKEYCOMPAT=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
641 HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
642 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
643 HG_TXNNAME=push
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
644 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
645
35264
a1e70c1dbec0 bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)
Boris Feld <boris.feld@octobus.net>
parents: 35230
diff changeset
646 abort: prepushkey hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
647 [40]
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
648 $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
649
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
650 test that prelistkeys can prevent listing keys
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
651
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
652 $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
653 > prelistkeys = sh -c "printenv.py --line prelistkeys.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
654 > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
655 $ hg bookmark -r null quux
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
656 pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
657 HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
658 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
659 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
660
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
661 pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
662 HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
663 HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
664 HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
665 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
666 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
667
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
668 txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
669 HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
670 HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
671 HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
672 HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
673
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
674 $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
675 $ hg pull -B quux ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
676 pulling from ../a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
677 prelistkeys.forbid hook: HG_HOOKNAME=prelistkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
678 HG_HOOKTYPE=prelistkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
679 HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
680
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
681 abort: prelistkeys hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
682 [40]
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
683 $ cd ../a
18850
442c0cb8287a test-hook.t: remove prelistkeys.forbid hook before moving on
Siddharth Agarwal <sid0@fb.com>
parents: 18377
diff changeset
684 $ rm .hg/hgrc
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
685
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
686 prechangegroup hook can prevent incoming changes
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
687
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
688 $ cd ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
689 $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
690 3:07f3376c1e65
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
691 $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
692 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
693 > prechangegroup.forbid = sh -c "printenv.py --line prechangegroup.forbid 1"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
694 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
695 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
696 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
697 searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
698 prechangegroup.forbid hook: HG_HOOKNAME=prechangegroup.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
699 HG_HOOKTYPE=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
700 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
701 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
702 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
703 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
704 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
705
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
706 abort: prechangegroup.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
707 [40]
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
708
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
709 pretxnchangegroup hook can see incoming changes, can roll back txn,
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
710 incoming changes no longer there after
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
711
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
712 $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
713 > [hooks]
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
714 > pretxnchangegroup.forbid0 = hg tip -q
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
715 > pretxnchangegroup.forbid1 = sh -c "printenv.py --line pretxnchangegroup.forbid 1"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
716 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
717 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
718 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
719 searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
720 adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
721 adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
722 adding file changes
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
723 4:539e4b31b6dc
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
724 pretxnchangegroup.forbid hook: HG_HOOKNAME=pretxnchangegroup.forbid1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
725 HG_HOOKTYPE=pretxnchangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
726 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
727 HG_NODE_LAST=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
728 HG_PENDING=$TESTTMP/b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
729 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
730 HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
731 HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
732 file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
733 HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
734
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
735 transaction abort!
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
736 rollback completed
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
737 abort: pretxnchangegroup.forbid1 hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
738 [40]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
739 $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
740 3:07f3376c1e65
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
741
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
742 outgoing hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
743
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
744 $ rm .hg/hgrc
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
745 $ cat > ../a/.hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
746 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
747 > preoutgoing = sh -c "printenv.py --line preoutgoing"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
748 > outgoing = sh -c "printenv.py --line outgoing"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
749 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
750 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
751 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
752 searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
753 preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
754 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
755 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
756
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
757 outgoing hook: HG_HOOKNAME=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
758 HG_HOOKTYPE=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
759 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
760 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
761
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
762 adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
763 adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
764 adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
765 adding remote bookmark quux
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
766 added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
767 new changesets 539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
768 (run 'hg update' to get a working copy)
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
769 $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13439
diff changeset
770 repository tip rolled back to revision 3 (undo pull)
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
771
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
772 preoutgoing hook can prevent outgoing changes
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
773
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
774 $ cat >> ../a/.hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
775 > preoutgoing.forbid = sh -c "printenv.py --line preoutgoing.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
776 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
777 $ hg pull ../a
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
778 pulling from ../a
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
779 searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
780 preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
781 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
782 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
783
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
784 preoutgoing.forbid hook: HG_HOOKNAME=preoutgoing.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
785 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
786 HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
787
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
788 abort: preoutgoing.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
789 [40]
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
790
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
791 outgoing hooks work for local clones
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
792
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
793 $ cd ..
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
794 $ cat > a/.hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
795 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
796 > preoutgoing = sh -c "printenv.py --line preoutgoing"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
797 > outgoing = sh -c "printenv.py --line outgoing"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
798 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
799 $ hg clone a c
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
800 preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
801 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
802 HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
803
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
804 outgoing hook: HG_HOOKNAME=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
805 HG_HOOKTYPE=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
806 HG_NODE=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
807 HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
808
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
809 updating to branch default
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
810 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
811 $ rm -rf c
8907
e9ef409e6399 Add (pre)outgoing hooks for local clones.
Fred Wulff <frew@cs.stanford.edu>
parents: 4659
diff changeset
812
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
813 preoutgoing hook can prevent outgoing changes for local clones
8907
e9ef409e6399 Add (pre)outgoing hooks for local clones.
Fred Wulff <frew@cs.stanford.edu>
parents: 4659
diff changeset
814
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
815 $ cat >> a/.hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
816 > preoutgoing.forbid = sh -c "printenv.py --line preoutgoing.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
817 > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
818 $ hg clone a zzz
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
819 preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
820 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
821 HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
822
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
823 preoutgoing.forbid hook: HG_HOOKNAME=preoutgoing.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
824 HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
825 HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
826
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
827 abort: preoutgoing.forbid hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
828 [40]
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
829
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
830 $ cd "$TESTTMP/b"
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
831
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
832 $ cat > hooktests.py <<EOF
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 33261
diff changeset
833 > from __future__ import print_function
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
834 > from mercurial import (
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
835 > error,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
836 > pycompat,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
837 > )
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
838 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
839 > uncallable = 0
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
840 >
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
841 > def printargs(ui, args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
842 > a = list(pycompat.byteskwargs(args).items())
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
843 > a.sort()
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
844 > ui.write(b'hook args:\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
845 > for k, v in a:
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
846 > ui.write(b' %s %s\n' % (k, v))
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
847 >
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
848 > def passhook(ui, repo, **args):
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
849 > printargs(ui, args)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
850 >
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
851 > def failhook(ui, repo, **args):
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
852 > printargs(ui, args)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
853 > return True
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
854 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
855 > class LocalException(Exception):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
856 > pass
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
857 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
858 > def raisehook(**args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
859 > raise LocalException('exception from hook')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
860 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
861 > def aborthook(**args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
862 > raise error.Abort(b'raise abort from hook')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
863 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
864 > def brokenhook(**args):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
865 > return 1 + {}
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
866 >
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
867 > def verbosehook(ui, **args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
868 > ui.note(b'verbose output from hook\n')
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
869 >
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
870 > def printtags(ui, repo, **args):
37753
f450a3be62ec tests: manually print list in test-hook.t
Augie Fackler <augie@google.com>
parents: 37415
diff changeset
871 > ui.write(b'[%s]\n' % b', '.join(sorted(repo.tags())))
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
872 >
41733
d7ce1ea7a5f2 tests: define class in modern style to avoid check-code.py error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 41639
diff changeset
873 > class container(object):
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
874 > unreachable = 1
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
875 > EOF
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
876
40205
89ba51c3e4f1 tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 37754
diff changeset
877 $ cat > syntaxerror.py << NO_CHECK_EOF
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
878 > (foo
40205
89ba51c3e4f1 tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 37754
diff changeset
879 > NO_CHECK_EOF
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
880
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
881 test python hooks
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
882
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
883 #if windows
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
884 $ PYTHONPATH="$TESTTMP/b;$PYTHONPATH"
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
885 #else
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
886 $ PYTHONPATH="$TESTTMP/b:$PYTHONPATH"
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
887 #endif
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
888 $ export PYTHONPATH
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
889
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
890 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
891 $ echo 'preoutgoing.broken = python:hooktests.brokenhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
892 $ hg pull ../a 2>&1 | grep 'raised an exception'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
893 error: preoutgoing.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
894
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
895 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
896 $ echo 'preoutgoing.raise = python:hooktests.raisehook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
897 $ hg pull ../a 2>&1 | grep 'raised an exception'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
898 error: preoutgoing.raise hook raised an exception: exception from hook
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
899
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
900 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
901 $ echo 'preoutgoing.abort = python:hooktests.aborthook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
902 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
903 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
904 searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
905 error: preoutgoing.abort hook failed: raise abort from hook
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
906 abort: raise abort from hook
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
907 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
908
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
909 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
910 $ echo 'preoutgoing.fail = python:hooktests.failhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
911 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
912 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
913 searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
914 hook args:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
915 hooktype preoutgoing
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
916 source pull
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
917 abort: preoutgoing.fail hook failed
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
918 [40]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
919
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
920 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
921 $ echo 'preoutgoing.uncallable = python:hooktests.uncallable' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
922 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
923 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
924 searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
925 abort: preoutgoing.uncallable hook is invalid: "hooktests.uncallable" is not callable
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
926 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
927
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
928 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
929 $ echo 'preoutgoing.nohook = python:hooktests.nohook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
930 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
931 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
932 searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
933 abort: preoutgoing.nohook hook is invalid: "hooktests.nohook" is not defined
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
934 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
935
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
936 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
937 $ echo 'preoutgoing.nomodule = python:nomodule' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
938 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
939 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
940 searching for changes
28106
cedbe8723d99 hook: even fewer parentheses for load errors
Siddharth Agarwal <sid0@fb.com>
parents: 28080
diff changeset
941 abort: preoutgoing.nomodule hook is invalid: "nomodule" not in a module
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
942 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
943
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
944 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
945 $ echo 'preoutgoing.badmodule = python:nomodule.nowhere' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
946 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
947 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
948 searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
949 abort: preoutgoing.badmodule hook is invalid: import of "nomodule" failed
28080
37b818cad146 hook: for python hook ImportErrors, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28079
diff changeset
950 (run with --traceback for stack trace)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
951 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
952
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
953 $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
954 $ echo 'preoutgoing.unreachable = python:hooktests.container.unreachable' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
955 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
956 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
957 searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
958 abort: preoutgoing.unreachable hook is invalid: import of "hooktests.container" failed
28080
37b818cad146 hook: for python hook ImportErrors, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28079
diff changeset
959 (run with --traceback for stack trace)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
960 [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
961
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
962 $ echo '[hooks]' > ../a/.hg/hgrc
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
963 $ echo 'preoutgoing.syntaxerror = python:syntaxerror.syntaxerror' >> ../a/.hg/hgrc
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
964 $ hg pull ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
965 pulling from ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
966 searching for changes
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
967 abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
968 (run with --traceback for stack trace)
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
969 [255]
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
970
43292
3f1b4d1a90c3 tests: use non-reverse grep in traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43291
diff changeset
971 $ hg pull ../a --traceback 2>&1 | egrep 'pulling|searching|^exception|Traceback|SyntaxError|ImportError|ModuleNotFoundError|HookLoadError|abort'
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
972 pulling from ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
973 searching for changes
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
974 exception from first failed import attempt:
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
975 Traceback (most recent call last):
28737
a3a01194a337 pypy: fix overspecific test checks
Maciej Fijalkowski <fijall@gmail.com>
parents: 28444
diff changeset
976 SyntaxError: * (glob)
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
977 exception from second failed import attempt:
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
978 Traceback (most recent call last): (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
979 SyntaxError: * (glob) (py3 !)
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
980 Traceback (most recent call last):
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
981 ImportError: No module named hgext_syntaxerror (no-py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
982 ImportError: No module named 'hgext_syntaxerror' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
983 ModuleNotFoundError: No module named 'hgext_syntaxerror' (py36 !)
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
984 Traceback (most recent call last):
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
985 SyntaxError: * (glob) (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
986 Traceback (most recent call last): (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
987 ImportError: No module named 'hgext_syntaxerror' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
988 ModuleNotFoundError: No module named 'hgext_syntaxerror' (py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
989 Traceback (most recent call last): (py3 !)
43291
a973a75e92bf py3: add Python 3 exception output to test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43290
diff changeset
990 HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed (no-py3 !)
44121
51fb449bd1a2 py3: add extra traceback line present on Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43402
diff changeset
991 raise error.HookLoadError( (py38 !)
43402
40bf3d7ecc42 py3: add a __str__ method to Abort
Denis Laxalde <denis@laxalde.org>
parents: 43293
diff changeset
992 mercurial.error.HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed (py3 !)
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
993 abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
994
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
995 $ echo '[hooks]' > ../a/.hg/hgrc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
996 $ echo 'preoutgoing.pass = python:hooktests.passhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
997 $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
998 pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
999 searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1000 hook args:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1001 hooktype preoutgoing
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1002 source pull
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1003 adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1004 adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1005 adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
1006 adding remote bookmark quux
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1007 added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
1008 new changesets 539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1009 (run 'hg update' to get a working copy)
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
1010
28107
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1011 post- python hooks that fail to *run* don't cause an abort
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1012 $ rm ../a/.hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1013 $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1014 $ echo 'post-pull.broken = python:hooktests.brokenhook' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1015 $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1016 pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1017 searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1018 no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1019 error: post-pull.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
28108
2a71d9483199 hook: for python hook exceptions, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28107
diff changeset
1020 (run with --traceback for stack trace)
28107
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1021
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1022 but post- python hooks that fail to *load* do
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1023 $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1024 $ echo 'post-pull.nomodule = python:nomodule' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1025 $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1026 pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1027 searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1028 no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1029 abort: post-pull.nomodule hook is invalid: "nomodule" not in a module
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1030 [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1031
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1032 $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1033 $ echo 'post-pull.badmodule = python:nomodule.nowhere' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1034 $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1035 pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1036 searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1037 no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1038 abort: post-pull.badmodule hook is invalid: import of "nomodule" failed
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1039 (run with --traceback for stack trace)
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1040 [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1041
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1042 $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1043 $ echo 'post-pull.nohook = python:hooktests.nohook' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1044 $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1045 pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1046 searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1047 no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1048 abort: post-pull.nohook hook is invalid: "hooktests.nohook" is not defined
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1049 [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
1050
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
1051 make sure --traceback works
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
1052
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1053 $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1054 $ echo 'commit.abort = python:hooktests.aborthook' >> .hg/hgrc
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
1055
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1056 $ echo aa > a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1057 $ hg --traceback commit -d '0 0' -ma 2>&1 | grep '^Traceback'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1058 Traceback (most recent call last):
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
1059
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1060 $ cd ..
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1061 $ hg init c
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1062 $ cd c
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
1063
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1064 $ cat > hookext.py <<EOF
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
1065 > def autohook(ui, **args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
1066 > ui.write(b'Automatically installed hook\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1067 >
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1068 > def reposetup(ui, repo):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
1069 > repo.ui.setconfig(b"hooks", b"commit.auto", autohook)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1070 > EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1071 $ echo '[extensions]' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1072 $ echo 'hookext = hookext.py' >> .hg/hgrc
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
1073
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1074 $ touch foo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1075 $ hg add foo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1076 $ hg ci -d '0 0' -m 'add foo'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1077 Automatically installed hook
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1078 $ echo >> foo
11794
80c63b2a29a8 tests: remove useless sed in test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11793
diff changeset
1079 $ hg ci --debug -d '0 0' -m 'change foo'
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
1080 committing files:
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1081 foo
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
1082 committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
1083 committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31767
diff changeset
1084 updating the branch cache
27192
a01d3d32b53a commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26861
diff changeset
1085 committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708
20548
5bd6a9fec103 hooks: for python hooks, consistently use __name__ etc as name, not the repr
Mads Kiilerich <madski@unity3d.com>
parents: 19011
diff changeset
1086 calling hook commit.auto: hgext_hookext.autohook
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1087 Automatically installed hook
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
1088
11794
80c63b2a29a8 tests: remove useless sed in test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11793
diff changeset
1089 $ hg showconfig hooks
12376
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
1090 hooks.commit.auto=<function autohook at *> (glob)
4085
719488a98ebe Fix hg showconfig traceback with values that aren't strings
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4070
diff changeset
1091
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
1092 test python hook configured with python:[file]:[hook] syntax
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1093
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1094 $ cd ..
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1095 $ mkdir d
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1096 $ cd d
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1097 $ hg init repo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1098 $ mkdir hooks
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
1099
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1100 $ cd hooks
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1101 $ cat > testhooks.py <<EOF
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
1102 > def testhook(ui, **args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
1103 > ui.write(b'hook works\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1104 > EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1105 $ echo '[hooks]' > ../repo/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1106 $ echo "pre-commit.test = python:`pwd`/testhooks.py:testhook" >> ../repo/.hg/hgrc
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
1107
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1108 $ cd ../repo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1109 $ hg commit -d '0 0'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1110 hook works
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1111 nothing changed
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
1112 [1]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1113
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1114 $ echo '[hooks]' > .hg/hgrc
17492
973c2b0b403c spelling: nonexistent
timeless@mozdev.org
parents: 17298
diff changeset
1115 $ echo "update.ne = python:`pwd`/nonexistent.py:testhook" >> .hg/hgrc
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1116 $ echo "pre-identify.npmd = python:`pwd`/:no_python_module_dir" >> .hg/hgrc
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1117
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1118 $ hg up null
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1119 loading update.ne hook failed:
41420
b6673e9bdcf6 dispatch: quote filename in IOError as well
Yuya Nishihara <yuya@tcha.org>
parents: 40205
diff changeset
1120 abort: $ENOENT$: '$TESTTMP/d/repo/nonexistent.py'
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1121 [255]
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1122
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1123 $ hg id
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1124 loading pre-identify.npmd hook failed:
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44835
diff changeset
1125 abort: No module named repo (no-py3 !)
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44835
diff changeset
1126 abort: No module named 'repo' (py3 !)
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1127 [255]
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
1128
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1129 $ cd ../../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1130
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
1131 make sure --traceback works on hook import failure
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
1132
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1133 $ cat > importfail.py <<EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1134 > import somebogusmodule
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1135 > # dereference something in the module to force demandimport to load it
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1136 > somebogusmodule.whatever
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1137 > EOF
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
1138
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1139 $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1140 $ echo 'precommit.importfail = python:importfail.whatever' >> .hg/hgrc
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
1141
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1142 $ echo a >> a
43292
3f1b4d1a90c3 tests: use non-reverse grep in traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43291
diff changeset
1143 $ hg --traceback commit -ma 2>&1 | egrep '^exception|ImportError|ModuleNotFoundError|Traceback|HookLoadError|abort'
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1144 exception from first failed import attempt:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1145 Traceback (most recent call last):
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1146 ImportError: No module named somebogusmodule (no-py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1147 ImportError: No module named 'somebogusmodule' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1148 ModuleNotFoundError: No module named 'somebogusmodule' (py36 !)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1149 exception from second failed import attempt:
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1150 Traceback (most recent call last): (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1151 ImportError: No module named 'somebogusmodule' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1152 ModuleNotFoundError: No module named 'somebogusmodule' (py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1153 Traceback (most recent call last): (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1154 ImportError: No module named 'hgext_importfail' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1155 ModuleNotFoundError: No module named 'hgext_importfail' (py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1156 Traceback (most recent call last): (py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1157 ImportError: No module named 'somebogusmodule' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1158 ModuleNotFoundError: No module named 'somebogusmodule' (py36 !)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1159 Traceback (most recent call last):
43293
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1160 ImportError: No module named hgext_importfail (no-py3 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1161 ImportError: No module named 'hgext_importfail' (py3 no-py36 !)
d0f89e8c615a py3: adjust expected traceback in test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43292
diff changeset
1162 ModuleNotFoundError: No module named 'hgext_importfail' (py36 !)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1163 Traceback (most recent call last):
43291
a973a75e92bf py3: add Python 3 exception output to test-hook.t
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 43290
diff changeset
1164 HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed (no-py3 !)
44121
51fb449bd1a2 py3: add extra traceback line present on Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43402
diff changeset
1165 raise error.HookLoadError( (py38 !)
43402
40bf3d7ecc42 py3: add a __str__ method to Abort
Denis Laxalde <denis@laxalde.org>
parents: 43293
diff changeset
1166 mercurial.error.HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed (py3 !)
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
1167 abort: precommit.importfail hook is invalid: import of "importfail" failed
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1168
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12376
diff changeset
1169 Issue1827: Hooks Update & Commit not completely post operation
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12376
diff changeset
1170
24881
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
1171 commit and update hooks should run after command completion. The largefiles
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
1172 use demonstrates a recursive wlock, showing the hook doesn't run until the
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
1173 final release (and dirstate flush).
10492
0e64d814d7d0 run commit and update hooks after command completion (issue1827)
Sune Foldager <cryo@cyanite.org>
parents: 10079
diff changeset
1174
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1175 $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1176 $ echo 'commit = hg id' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1177 $ echo 'update = hg id' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
1178 $ echo bb > a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
1179 $ hg ci -ma
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
1180 223eafe2750c tip
24881
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
1181 $ hg up 0 --config extensions.largefiles=
33212
fe0667cc521e tests: add fsmonitor specific output lines at enabling largefiles
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33051
diff changeset
1182 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
26752
949e8c626d19 merge: make in-memory changes visible to external update hooks
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26692
diff changeset
1183 cb9a9f314b8b
26028
6fbe35588433 update: wlock the repo for the whole 'hg update' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25744
diff changeset
1184 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
1185
17508
57fb8c9509f4 spelling: propagated
timeless@mozdev.org
parents: 17492
diff changeset
1186 make sure --verbose (and --quiet/--debug etc.) are propagated to the local ui
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1187 that is passed to pre/post hooks
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1188
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1189 $ echo '[hooks]' > .hg/hgrc
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1190 $ echo 'pre-identify = python:hooktests.verbosehook' >> .hg/hgrc
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1191 $ hg id
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1192 cb9a9f314b8b
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1193 $ hg id --verbose
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1194 calling hook pre-identify: hooktests.verbosehook
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1195 verbose output from hook
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
1196 cb9a9f314b8b
15896
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1197
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1198 Ensure hooks can be prioritized
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1199
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1200 $ echo '[hooks]' > .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1201 $ echo 'pre-identify.a = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1202 $ echo 'pre-identify.b = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1203 $ echo 'priority.pre-identify.b = 1' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1204 $ echo 'pre-identify.c = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1205 $ hg id --verbose
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1206 calling hook pre-identify.b: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1207 verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1208 calling hook pre-identify.a: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1209 verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1210 calling hook pre-identify.c: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1211 verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
1212 cb9a9f314b8b
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1213
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1214 new tags must be visible in pretxncommit (issue3210)
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1215
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1216 $ echo 'pretxncommit.printtags = python:hooktests.printtags' >> .hg/hgrc
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1217 $ hg tag -f foo
37753
f450a3be62ec tests: manually print list in test-hook.t
Augie Fackler <augie@google.com>
parents: 37415
diff changeset
1218 [a, foo, tip]
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
1219
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1220 post-init hooks must not crash (issue4983)
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1221 This also creates the `to` repo for the next test block.
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1222
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1223 $ cd ..
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1224 $ cat << EOF >> hgrc-with-post-init-hook
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1225 > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1226 > post-init = sh -c "printenv.py --line post-init"
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1227 > EOF
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1228 $ HGRCPATH=hgrc-with-post-init-hook hg init to
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1229 post-init hook: HG_ARGS=init to
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1230 HG_HOOKNAME=post-init
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1231 HG_HOOKTYPE=post-init
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1232 HG_OPTS={'insecure': None, 'remotecmd': '', 'ssh': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1233 HG_PATS=['to']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1234 HG_RESULT=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
1235
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
1236
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1237 new commits must be visible in pretxnchangegroup (issue3428)
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1238
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1239 $ echo '[hooks]' >> to/.hg/hgrc
26859
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1240 $ echo 'prechangegroup = hg --traceback tip' >> to/.hg/hgrc
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1241 $ echo 'pretxnchangegroup = hg --traceback tip' >> to/.hg/hgrc
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1242 $ echo a >> to/a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1243 $ hg --cwd to ci -Ama
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1244 adding a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1245 $ hg clone to from
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1246 updating to branch default
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1247 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1248 $ echo aa >> from/a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1249 $ hg --cwd from ci -mb
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1250 $ hg --cwd from push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35264
diff changeset
1251 pushing to $TESTTMP/to
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1252 searching for changes
26859
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1253 changeset: 0:cb9a9f314b8b
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1254 tag: tip
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1255 user: test
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1256 date: Thu Jan 01 00:00:00 1970 +0000
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1257 summary: a
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
1258
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1259 adding changesets
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1260 adding manifests
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1261 adding file changes
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1262 changeset: 1:9836a07b9b9d
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1263 tag: tip
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1264 user: test
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1265 date: Thu Jan 01 00:00:00 1970 +0000
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1266 summary: b
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
1267
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
1268 added 1 changesets with 1 changes to 1 files
27924
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1269
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1270 pretxnclose hook failure should abort the transaction
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1271
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1272 $ hg init txnfailure
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1273 $ cd txnfailure
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1274 $ touch a && hg commit -Aqm a
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1275 $ cat >> .hg/hgrc <<EOF
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1276 > [hooks]
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1277 > pretxnclose.error = exit 1
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1278 > EOF
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1279 $ hg strip -r 0 --config extensions.strip=
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1280 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1281 saved backup bundle to * (glob)
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1282 transaction abort!
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1283 rollback completed
29954
769aee32fae0 strip: don't use "full" and "partial" to describe bundles
Martin von Zweigbergk <martinvonz@google.com>
parents: 29780
diff changeset
1284 strip failed, backup bundle stored in * (glob)
27924
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1285 abort: pretxnclose.error hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
1286 [40]
27924
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1287 $ hg recover
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1288 no interrupted transaction available
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
1289 [1]
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1290 $ cd ..
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1291
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1292 check whether HG_PENDING makes pending changes only in related
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1293 repositories visible to an external hook.
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1294
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1295 (emulate a transaction running concurrently by copied
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1296 .hg/store/00changelog.i.a in subsequent test)
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1297
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1298 $ cat > $TESTTMP/savepending.sh <<EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1299 > cp .hg/store/00changelog.i.a .hg/store/00changelog.i.a.saved
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1300 > exit 1 # to avoid adding new revision for subsequent tests
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1301 > EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1302 $ cd a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1303 $ hg tip -q
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1304 4:539e4b31b6dc
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1305 $ hg --config hooks.pretxnclose="sh $TESTTMP/savepending.sh" commit -m "invisible"
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1306 transaction abort!
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1307 rollback completed
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1308 abort: pretxnclose hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
1309 [40]
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1310 $ cp .hg/store/00changelog.i.a.saved .hg/store/00changelog.i.a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1311
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1312 (check (in)visibility of new changeset while transaction running in
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1313 repo)
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1314
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1315 $ cat > $TESTTMP/checkpending.sh <<EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1316 > echo '@a'
31767
6c800688afe1 tests: quote paths in shell script hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 31747
diff changeset
1317 > hg -R "$TESTTMP/a" tip -q
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1318 > echo '@a/nested'
31767
6c800688afe1 tests: quote paths in shell script hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 31747
diff changeset
1319 > hg -R "$TESTTMP/a/nested" tip -q
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1320 > exit 1 # to avoid adding new revision for subsequent tests
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1321 > EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1322 $ hg init nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1323 $ cd nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1324 $ echo a > a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1325 $ hg add a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1326 $ hg --config hooks.pretxnclose="sh $TESTTMP/checkpending.sh" commit -m '#0'
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1327 @a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1328 4:539e4b31b6dc
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1329 @a/nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1330 0:bf5e395ced2c
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1331 transaction abort!
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1332 rollback completed
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1333 abort: pretxnclose hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
1334 [40]
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
1335
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1336 Hook from untrusted hgrc are reported as failure
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1337 ================================================
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1338
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1339 $ cat << EOF > $TESTTMP/untrusted.py
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1340 > from mercurial import scmutil, util
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1341 > def uisetup(ui):
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1342 > class untrustedui(ui.__class__):
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1343 > def _trusted(self, fp, f):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
1344 > if util.normpath(fp.name).endswith(b'untrusted/.hg/hgrc'):
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1345 > return False
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1346 > return super(untrustedui, self)._trusted(fp, f)
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1347 > ui.__class__ = untrustedui
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1348 > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1349 $ cat << EOF >> $HGRCPATH
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1350 > [extensions]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1351 > untrusted=$TESTTMP/untrusted.py
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1352 > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1353 $ hg init untrusted
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1354 $ cd untrusted
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1355
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1356 Non-blocking hook
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1357 -----------------
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1358
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1359 $ cat << EOF >> .hg/hgrc
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1360 > [hooks]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1361 > txnclose.testing=echo txnclose hook called
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1362 > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1363 $ touch a && hg commit -Aqm a
31743
f610c3220eec hook: fix name used in untrusted message
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31741
diff changeset
1364 warning: untrusted hook txnclose.testing not executed
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1365 $ hg log
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1366 changeset: 0:3903775176ed
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1367 tag: tip
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1368 user: test
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1369 date: Thu Jan 01 00:00:00 1970 +0000
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1370 summary: a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1371
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1372
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1373 Non-blocking hook
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1374 -----------------
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1375
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1376 $ cat << EOF >> .hg/hgrc
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1377 > [hooks]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1378 > pretxnclose.testing=echo pre-txnclose hook called
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1379 > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1380 $ touch b && hg commit -Aqm a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1381 transaction abort!
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1382 rollback completed
31743
f610c3220eec hook: fix name used in untrusted message
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31741
diff changeset
1383 abort: untrusted hook pretxnclose.testing not executed
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1384 (see 'hg help config.trusted')
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
1385 [40]
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1386 $ hg log
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1387 changeset: 0:3903775176ed
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1388 tag: tip
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1389 user: test
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1390 date: Thu Jan 01 00:00:00 1970 +0000
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1391 summary: a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
1392
46491
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1393
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1394 unsetup the test
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1395 ----------------
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1396
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1397 # touch the file to unconfuse chg with a diffrent mtime
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1398 $ sleep 1
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1399 $ touch $TESTTMP/untrusted.py
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1400 $ cat << EOF >> $HGRCPATH
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1401 > [extensions]
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1402 > untrusted=!
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1403 > EOF
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1404
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1405 HGPLAIN setting in hooks
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1406 ========================
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1407
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1408 $ cat << EOF >> .hg/hgrc
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1409 > [hooks]
46868
802ba3c81507 tests: stablize test-hook.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 46494
diff changeset
1410 > pre-version.testing-default=sh -c "echo '### default ###' plain: \${HGPLAIN:-'<unset>'}"
802ba3c81507 tests: stablize test-hook.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 46494
diff changeset
1411 > pre-version.testing-yes=sh -c "echo '### yes #######' plain: \${HGPLAIN:-'<unset>'}"
46492
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1412 > pre-version.testing-yes:run-with-plain=yes
46868
802ba3c81507 tests: stablize test-hook.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 46494
diff changeset
1413 > pre-version.testing-no=sh -c "echo '### no ########' plain: \${HGPLAIN:-'<unset>'}"
46492
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1414 > pre-version.testing-no:run-with-plain=no
46868
802ba3c81507 tests: stablize test-hook.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 46494
diff changeset
1415 > pre-version.testing-auto=sh -c "echo '### auto ######' plain: \${HGPLAIN:-'<unset>'}"
46493
b910be772eb9 hooks: add a `auto` value for `hooks.*run-with-plain`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46492
diff changeset
1416 > pre-version.testing-auto:run-with-plain=auto
46491
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1417 > EOF
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1418
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1419 $ (unset HGPLAIN; hg version --quiet)
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1420 ### default ### plain: 1
46492
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1421 ### yes ####### plain: 1
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1422 ### no ######## plain: <unset>
46493
b910be772eb9 hooks: add a `auto` value for `hooks.*run-with-plain`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46492
diff changeset
1423 ### auto ###### plain: <unset>
46491
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1424 Mercurial Distributed SCM (*) (glob)
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1425
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1426 $ HGPLAIN=1 hg version --quiet
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1427 ### default ### plain: 1
46492
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1428 ### yes ####### plain: 1
7289eac777ec hooks: introduce a `:run-with-plain` option for hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46491
diff changeset
1429 ### no ######## plain: <unset>
46493
b910be772eb9 hooks: add a `auto` value for `hooks.*run-with-plain`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46492
diff changeset
1430 ### auto ###### plain: 1
46491
0760282995cf hooks: add some test about HGPLAIN setting and hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45906
diff changeset
1431 Mercurial Distributed SCM (*) (glob)