author | Martin Geisler <mg@lazybytes.net> |
Wed, 18 Aug 2010 11:59:35 +0200 | |
changeset 11959 | be33381882ad |
parent 11886 | 73112cb2a6d7 |
child 12103 | 437579a0068a |
permissions | -rwxr-xr-x |
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
2 |
|
11419 | 3 |
HGENCODING=utf-8 |
4 |
export HGENCODING |
|
5 |
||
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
6 |
try() { |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
7 |
echo '% hg debugrevspec' $@ |
11419 | 8 |
hg debugrevspec --debug $@ |
9 |
} |
|
10 |
||
11 |
log() { |
|
12 |
echo "% log '$1'" |
|
13 |
hg log --template '{rev}\n' -r "$1" |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
14 |
} |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
15 |
|
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
16 |
hg init repo |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
17 |
cd repo |
11419 | 18 |
|
19 |
echo a > a |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
20 |
hg branch a |
11419 | 21 |
hg ci -Aqm0 |
22 |
||
23 |
echo b > b |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
24 |
hg branch b |
11419 | 25 |
hg ci -Aqm1 |
26 |
||
27 |
rm a |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
28 |
hg branch a-b-c- |
11419 | 29 |
hg ci -Aqm2 -u Bob |
30 |
||
31 |
hg co 1 |
|
32 |
hg branch +a+b+c+ |
|
33 |
hg ci -Aqm3 |
|
34 |
||
35 |
hg co 2 # interleave |
|
36 |
echo bb > b |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
37 |
hg branch -- -a-b-c- |
11419 | 38 |
hg ci -Aqm4 -d "May 12 2005" |
39 |
||
40 |
hg co 3 |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
41 |
hg branch /a/b/c/ |
11419 | 42 |
hg ci -Aqm"5 bug" |
43 |
||
44 |
hg merge 4 |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
45 |
hg branch _a_b_c_ |
11419 | 46 |
hg ci -Aqm"6 issue619" |
47 |
||
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
48 |
hg branch .a.b.c. |
11419 | 49 |
hg ci -Aqm7 |
50 |
||
51 |
hg branch all |
|
52 |
hg ci --close-branch -Aqm8 |
|
53 |
||
54 |
hg co 4 |
|
55 |
hg branch é |
|
56 |
hg ci -Aqm9 |
|
57 |
||
58 |
hg tag -r6 1.0 |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
59 |
|
11882
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
60 |
hg clone --quiet -U -r 7 . ../remote1 |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
61 |
hg clone --quiet -U -r 8 . ../remote2 |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
62 |
echo "[paths]" >> .hg/hgrc |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
63 |
echo "default = ../remote1" >> .hg/hgrc |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
64 |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
65 |
# names that should work without quoting |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
66 |
try a |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
67 |
try b-a |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
68 |
try _a_b_c_ |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
69 |
try _a_b_c_-a |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
70 |
try .a.b.c. |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
71 |
try .a.b.c.-a |
11419 | 72 |
try -- '-a-b-c-' # complains |
73 |
log -a-b-c- # succeeds with fallback |
|
74 |
try -- -a-b-c--a # complains |
|
75 |
try é |
|
11409
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
76 |
|
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
77 |
# quoting needed |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
78 |
try '"-a-b-c-"-a' |
7a6ac83a15b0
revset: add some tests
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
diff
changeset
|
79 |
|
11419 | 80 |
log '1 or 2' |
81 |
log '1|2' |
|
82 |
log '1 and 2' |
|
83 |
log '1&2' |
|
84 |
try '1&2|3' # precedence - and is higher |
|
85 |
try '1|2&3' |
|
86 |
try '1&2&3' # associativity |
|
87 |
try '1|(2|3)' |
|
88 |
log '1.0' # tag |
|
89 |
log 'a' # branch |
|
90 |
log '2785f51ee' |
|
91 |
log 'date(2005)' |
|
92 |
log 'date(this is a test)' |
|
93 |
log 'date()' |
|
94 |
log 'date' |
|
95 |
log 'date(' |
|
96 |
log 'date(tip)' |
|
97 |
log '"date"' |
|
98 |
log 'date(2005) and 1::' |
|
99 |
||
100 |
log 'ancestor(1)' |
|
101 |
log 'ancestor(4,5)' |
|
11650
ebaf117c2642
revset: fix ancestor subset handling (issue2298)
Matt Mackall <mpm@selenic.com>
parents:
11467
diff
changeset
|
102 |
log 'ancestor(4,5) and 4' |
11419 | 103 |
log 'ancestors(5)' |
104 |
log 'author(bob)' |
|
105 |
log 'branch(é)' |
|
106 |
log 'children(ancestor(4,5))' |
|
107 |
log 'closed()' |
|
108 |
log 'contains(a)' |
|
109 |
log 'descendants(2 or 3)' |
|
110 |
log 'file(b)' |
|
111 |
log 'follow()' |
|
112 |
log 'grep("issue\d+")' |
|
113 |
log 'head()' |
|
114 |
log 'heads(6::)' |
|
115 |
log 'keyword(issue)' |
|
116 |
log 'limit(head(), 1)' |
|
117 |
log 'max(contains(a))' |
|
11708
ba65d61f3158
revset: add min function
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11650
diff
changeset
|
118 |
log 'min(contains(a))' |
11419 | 119 |
log 'merge()' |
120 |
log 'modifies(b)' |
|
11882
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
121 |
log 'outgoing()' |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
122 |
log 'outgoing("../remote1")' |
b75dea24e296
revset: fix outgoing argument handling
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11650
diff
changeset
|
123 |
log 'outgoing("../remote2")' |
11419 | 124 |
log 'p1(merge())' |
125 |
log 'p2(merge())' |
|
126 |
log 'parents(merge())' |
|
127 |
log 'removes(a)' |
|
128 |
log 'roots(all())' |
|
129 |
log 'reverse(2 or 3 or 4 or 5)' |
|
130 |
log 'sort(limit(reverse(all()), 3))' |
|
131 |
log 'sort(2 or 3 or 4 or 5, date)' |
|
132 |
log 'tagged()' |
|
133 |
log 'user(bob)' |
|
134 |
||
135 |
log '4::8' |
|
136 |
log '4:8' |
|
137 |
||
138 |
log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")' |
|
11456
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
139 |
|
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
140 |
log 'not 0 and 0:2' |
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
141 |
log 'not 1 and 0:2' |
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
142 |
log 'not 2 and 0:2' |
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
143 |
log '(1 and 2)::' |
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
144 |
log '(1 and 2):' |
88abbb046e66
revset: deal with empty sets in range endpoints
Matt Mackall <mpm@selenic.com>
parents:
11419
diff
changeset
|
145 |
log '(1 and 2):3' |
11467
6b836d5c8c9e
revset: make negate work for sort specs
Matt Mackall <mpm@selenic.com>
parents:
11456
diff
changeset
|
146 |
log 'sort(head(), -rev)' |