Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-mq-guards @ 4193:9e3121017fb2
Optimize return value of util._matcher for common command line case
This will trigger every time somebody runs something like "hg diff"
or "hg status" without any arguments.
The important part here is returning util.always as the match function,
which is a much simpler (and faster) function than the usual return
value, and allows other code to just skip the filtering if it knows
all files will match.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:01:00 -0300 |
parents | a9ee6c53af8d |
children | 943f40b4da30 |
rev | line source |
---|---|
2810
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
2976
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2838
diff
changeset
|
3 echo "[extensions]" >> $HGRCPATH |
61fcd9fac434
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2838
diff
changeset
|
4 echo "mq=" >> $HGRCPATH |
2810
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 hg init |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 hg qinit |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
9 echo x > x |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 hg ci -Ama |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 hg qnew a.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 echo a > a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
14 hg add a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 hg qrefresh |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
16 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
17 hg qnew b.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 echo b > b |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 hg add b |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 hg qrefresh |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
21 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
22 hg qnew c.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
23 echo c > c |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
24 hg add c |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 hg qrefresh |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
26 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
27 hg qpop -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
28 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
29 echo % should fail |
4133
a9ee6c53af8d
mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents:
3763
diff
changeset
|
30 hg qguard does-not-exist.patch +bleh |
a9ee6c53af8d
mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents:
3763
diff
changeset
|
31 |
a9ee6c53af8d
mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents:
3763
diff
changeset
|
32 echo % should fail |
2810
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
33 hg qguard +fail |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
34 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
35 hg qpush |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
36 echo % should guard a.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
37 hg qguard +a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
38 echo % should print +a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
39 hg qguard |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
40 hg qpop |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
41 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
42 hg qguard a.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
43 echo % should push b.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
44 hg qpush |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
45 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
46 hg qpop |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
47 hg qselect a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
48 echo % should push a.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
49 hg qpush |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
50 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
51 hg qguard c.patch -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
52 echo % should print -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
53 hg qguard c.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
54 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
55 echo % should skip c.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
56 hg qpush -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
57 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
58 hg qguard -n c.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
59 echo % should push c.patch |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
60 hg qpush -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
61 |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
62 hg qpop -a |
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
63 hg qselect -n |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
64 echo % should push all |
2810
2e4ace008c94
mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
65 hg qpush -a |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
66 |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
67 hg qpop -a |
2838
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
68 hg qguard a.patch +1 |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
69 hg qguard b.patch +2 |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
70 hg qselect 1 |
2838
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
71 echo % should push a.patch, not b.patch |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
72 hg qpush |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
73 hg qpush |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
74 hg qpop -a |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
75 |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
76 hg qselect 2 |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
77 echo % should push b.patch |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
78 hg qpush |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
79 hg qpop -a |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
80 |
2838
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
81 hg qselect 1 2 |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
82 echo % should push a.patch, b.patch |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
83 hg qpush |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
84 hg qpush |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
85 hg qpop -a |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
86 |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
87 hg qguard a.patch +1 +2 -3 |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
88 hg qselect 1 2 3 |
2838
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
89 echo % list patches and guards |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
90 hg qguard -l |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
91 echo % list series |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
92 hg qseries -v |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
93 echo % list guards |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
94 hg qselect |
2818
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
95 echo % should push b.patch |
05316bb57d01
mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2810
diff
changeset
|
96 hg qpush |
2832
582cbc4392cb
qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2818
diff
changeset
|
97 |
582cbc4392cb
qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2818
diff
changeset
|
98 hg qpush -a |
582cbc4392cb
qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2818
diff
changeset
|
99 hg qselect -n --reapply |
2838
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
100 echo % guards in series file: +1 +2 -3 |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
101 hg qselect -s |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
102 echo % should show c.patch |
851b07ec450c
mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2832
diff
changeset
|
103 hg qapplied |
3685
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
104 |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
105 hg qrename a.patch new.patch |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
106 echo % should show : |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
107 echo % new.patch: +1 +2 -3 |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
108 echo % b.patch: +2 |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
109 echo % c.patch: unguarded |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
110 hg qguard -l |
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
111 |
3763
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
112 hg qnew d.patch |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
113 hg qpop |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
114 echo % should show new.patch and b.patch as Guarded, c.patch as Applied |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
115 echo % and d.patch as Unapplied |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
116 hg qseries -v |
3685
193e9c6d1a6d
Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
2976
diff
changeset
|
117 |
3763
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
118 hg qguard d.patch +2 |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
119 echo % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded. |
955475d237fc
fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3685
diff
changeset
|
120 hg qseries -v |