1 #!/bin/sh |
|
2 |
|
3 echo "[extensions]" >> $HGRCPATH |
|
4 echo "mq=" >> $HGRCPATH |
|
5 |
|
6 hg init |
|
7 hg qinit |
|
8 |
|
9 echo x > x |
|
10 hg ci -Ama |
|
11 |
|
12 hg qnew a.patch |
|
13 echo a > a |
|
14 hg add a |
|
15 hg qrefresh |
|
16 |
|
17 hg qnew b.patch |
|
18 echo b > b |
|
19 hg add b |
|
20 hg qrefresh |
|
21 |
|
22 hg qnew c.patch |
|
23 echo c > c |
|
24 hg add c |
|
25 hg qrefresh |
|
26 |
|
27 hg qpop -a |
|
28 |
|
29 echo % should fail |
|
30 hg qguard does-not-exist.patch +bleh |
|
31 |
|
32 echo % should fail |
|
33 hg qguard +fail |
|
34 |
|
35 hg qpush |
|
36 echo % should guard a.patch |
|
37 hg qguard +a |
|
38 echo % should print +a |
|
39 hg qguard |
|
40 hg qpop |
|
41 |
|
42 echo % should fail |
|
43 hg qpush a.patch |
|
44 |
|
45 hg qguard a.patch |
|
46 echo % should push b.patch |
|
47 hg qpush |
|
48 |
|
49 hg qpop |
|
50 echo % test selection of an empty guard |
|
51 hg qselect "" |
|
52 hg qselect a |
|
53 echo % should push a.patch |
|
54 hg qpush |
|
55 |
|
56 hg qguard -- c.patch -a |
|
57 echo % should print -a |
|
58 hg qguard c.patch |
|
59 |
|
60 echo % should skip c.patch |
|
61 hg qpush -a |
|
62 echo % should display b.patch |
|
63 hg qtop |
|
64 |
|
65 hg qguard -n c.patch |
|
66 echo % should push c.patch |
|
67 hg qpush -a |
|
68 |
|
69 hg qpop -a |
|
70 hg qselect -n |
|
71 echo % should push all |
|
72 hg qpush -a |
|
73 |
|
74 hg qpop -a |
|
75 hg qguard a.patch +1 |
|
76 hg qguard b.patch +2 |
|
77 hg qselect 1 |
|
78 echo % should push a.patch, not b.patch |
|
79 hg qpush |
|
80 hg qpush |
|
81 hg qpop -a |
|
82 |
|
83 hg qselect 2 |
|
84 echo % should push b.patch |
|
85 hg qpush |
|
86 hg qpush -a |
|
87 # Used to be an issue with holes in the patch sequence |
|
88 # So, put one hole on the base and ask for topmost patch. |
|
89 hg qtop |
|
90 hg qpop -a |
|
91 |
|
92 hg qselect 1 2 |
|
93 echo % should push a.patch, b.patch |
|
94 hg qpush |
|
95 hg qpush |
|
96 hg qpop -a |
|
97 |
|
98 hg qguard -- a.patch +1 +2 -3 |
|
99 hg qselect 1 2 3 |
|
100 |
|
101 echo % list patches and guards |
|
102 hg qguard -l |
|
103 echo % have at least one patch applied to test coloring |
|
104 hg qpush |
|
105 echo % list patches and guards with color |
|
106 hg --config extensions.color= qguard --config color.mode=ansi \ |
|
107 -l --color=always |
|
108 echo % should pop b.patch |
|
109 hg qpop |
|
110 echo % list series |
|
111 hg qseries -v |
|
112 echo % list guards |
|
113 hg qselect |
|
114 echo % should push b.patch |
|
115 hg qpush |
|
116 |
|
117 hg qpush -a |
|
118 hg qselect -n --reapply |
|
119 echo % guards in series file: +1 +2 -3 |
|
120 hg qselect -s |
|
121 echo % should show c.patch |
|
122 hg qapplied |
|
123 |
|
124 hg qrename a.patch new.patch |
|
125 echo % should show : |
|
126 echo % new.patch: +1 +2 -3 |
|
127 echo % b.patch: +2 |
|
128 echo % c.patch: unguarded |
|
129 hg qguard -l |
|
130 |
|
131 hg qnew d.patch |
|
132 hg qpop |
|
133 echo % should show new.patch and b.patch as Guarded, c.patch as Applied |
|
134 echo % and d.patch as Unapplied |
|
135 hg qseries -v |
|
136 echo % qseries again, but with color |
|
137 hg --config extensions.color= qseries -v --color=always |
|
138 |
|
139 hg qguard d.patch +2 |
|
140 echo % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded. |
|
141 hg qseries -v |
|
142 |
|
143 qappunappv() |
|
144 { |
|
145 for command in qapplied "qapplied -v" qunapplied "qunapplied -v"; do |
|
146 echo % hg $command |
|
147 hg $command |
|
148 done |
|
149 } |
|
150 |
|
151 hg qpop -a |
|
152 hg qguard -l |
|
153 qappunappv |
|
154 hg qselect 1 |
|
155 qappunappv |
|
156 hg qpush -a |
|
157 qappunappv |
|
158 hg qselect 2 |
|
159 qappunappv |
|
160 |
|
161 for patch in `hg qseries`; do |
|
162 echo % hg qapplied $patch |
|
163 hg qapplied $patch |
|
164 echo % hg qunapplied $patch |
|
165 hg qunapplied $patch |
|
166 done |
|
167 |
|
168 echo % hg qseries -m: only b.patch should be shown |
|
169 echo the guards file was not ignored in the past |
|
170 hg qdelete -k b.patch |
|
171 hg qseries -m |
|
172 echo % hg qseries -m with color |
|
173 hg --config extensions.color= qseries -m --color=always |
|