Mercurial > hg > mercurial-crew-with-dirclash
comparison tests/test-hook @ 1734:9488d53233b5
tests for new hooks. fix things i found when writing tests.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 16 Feb 2006 09:56:31 -0800 |
parents | acd1832ebf31 |
children | 50de0887bbcd |
comparison
equal
deleted
inserted
replaced
1733:6d288d8c3ca6 | 1734:9488d53233b5 |
---|---|
1 #!/bin/sh | 1 #!/bin/sh |
2 | 2 |
3 hg init | 3 # commit hooks can see env vars |
4 hg init a | |
5 cd a | |
4 echo "[hooks]" > .hg/hgrc | 6 echo "[hooks]" > .hg/hgrc |
5 echo 'precommit = echo precommit hook' >> .hg/hgrc | 7 echo 'commit = echo commit hook: n=$HG_NODE p1=$HG_PARENT1 p2=$HG_PARENT2' >> .hg/hgrc |
6 echo 'commit = echo commit hook: $NODE' >> .hg/hgrc | |
7 echo 'commit.b = echo commit hook b' >> .hg/hgrc | 8 echo 'commit.b = echo commit hook b' >> .hg/hgrc |
9 echo 'precommit = echo precommit hook: p1=$HG_PARENT1 p2=$HG_PARENT2' >> .hg/hgrc | |
10 echo 'pretxncommit = echo pretxncommit hook: n=$HG_NODE p1=$HG_PARENT1 p2=$HG_PARENT2; hg -q tip' >> .hg/hgrc | |
8 echo a > a | 11 echo a > a |
9 hg add a | 12 hg add a |
10 hg commit -m "test" -d "0 0" | 13 hg commit -m a -d "0 0" |
14 | |
15 hg clone . ../b | |
16 cd ../b | |
17 | |
18 # changegroup hooks can see env vars | |
19 echo '[hooks]' > .hg/hgrc | |
20 echo 'prechangegroup = echo prechangegroup hook' >> .hg/hgrc | |
21 echo 'changegroup = echo changegroup hook: n=$HG_NODE' >> .hg/hgrc | |
22 echo 'incoming = echo incoming hook: n=$HG_NODE' >> .hg/hgrc | |
23 | |
24 # pretxncommit and commit hooks can see both parents of merge | |
25 cd ../a | |
26 echo b >> a | |
27 hg commit -m a1 -d "1 0" | |
28 hg update -C 0 | |
29 echo b > b | |
30 hg add b | |
31 hg commit -m b -d '1 0' | |
32 hg update -m 1 | |
33 hg commit -m merge -d '2 0' | |
34 | |
35 cd ../b | |
36 hg pull ../a | |
37 | |
38 # tag hooks can see env vars | |
39 cd ../a | |
40 echo 'pretag = echo pretag hook: t=$HG_TAG n=$HG_NODE l=$HG_LOCAL' >> .hg/hgrc | |
41 echo 'tag = echo tag hook: t=$HG_TAG n=$HG_NODE l=$HG_LOCAL' >> .hg/hgrc | |
42 hg tag -d '3 0' a | |
43 hg tag -l la | |
44 | |
45 # pretag hook can forbid tagging | |
46 echo 'pretag.forbid = echo pretag.forbid hook; exit 1' >> .hg/hgrc | |
47 hg tag -d '4 0' fa | |
48 hg tag -l fla | |
49 | |
50 # pretxncommit hook can see changeset, can roll back txn, changeset | |
51 # no more there after | |
52 echo 'pretxncommit.forbid = echo pretxncommit.forbid hook: tip=`hg -q tip`; exit 1' >> .hg/hgrc | |
53 echo z > z | |
54 hg add z | |
55 hg -q tip | |
56 hg commit -m 'fail' -d '4 0' | |
57 hg -q tip | |
58 | |
59 # precommit hook can prevent commit | |
60 echo 'precommit.forbid = echo precommit.forbid hook; exit 1' >> .hg/hgrc | |
61 hg commit -m 'fail' -d '4 0' | |
62 hg -q tip | |
63 | |
64 # prechangegroup hook can prevent incoming changes | |
65 cd ../b | |
66 hg -q tip | |
67 echo '[hooks]' > .hg/hgrc | |
68 echo 'prechangegroup.forbid = echo prechangegroup.forbid hook; exit 1' >> .hg/hgrc | |
69 hg pull ../a | |
70 | |
71 # pretxnchangegroup hook can see incoming changes, can roll back txn, | |
72 # incoming changes no longer there after | |
73 echo '[hooks]' > .hg/hgrc | |
74 echo 'pretxnchangegroup.forbid = echo pretxnchangegroup.forbid hook: tip=`hg -q tip`; exit 1' >> .hg/hgrc | |
75 hg pull ../a | |
76 hg -q tip |