##// END OF EJS Templates
test-mq-subrepo.t: correctly forward stdin to test functions...
Patrick Mezard -
r13241:bb43a9ab default
parent child Browse files
Show More
@@ -1,342 +1,347
1 $ echo "[extensions]" >> $HGRCPATH
1 $ echo "[extensions]" >> $HGRCPATH
2 $ echo "mq=" >> $HGRCPATH
2 $ echo "mq=" >> $HGRCPATH
3 $ echo "record=" >> $HGRCPATH
3 $ echo "record=" >> $HGRCPATH
4 $ echo "[diff]" >> $HGRCPATH
4 $ echo "[diff]" >> $HGRCPATH
5 $ echo "nodates=1" >> $HGRCPATH
5 $ echo "nodates=1" >> $HGRCPATH
6
6
7 $ stdin=`pwd`/stdin.tmp
8
7 fn to create new repository w/dirty subrepo, and cd into it
9 fn to create new repository w/dirty subrepo, and cd into it
8 $ mkrepo() {
10 $ mkrepo() {
9 > hg init $1
11 > hg init $1
10 > cd $1
12 > cd $1
11 > hg qinit
13 > hg qinit
12 > }
14 > }
13
15
14 fn to create dirty subrepo
16 fn to create dirty subrepo
15 $ mksubrepo() {
17 $ mksubrepo() {
16 > hg init $1
18 > hg init $1
17 > cd $1
19 > cd $1
18 > echo a > a
20 > echo a > a
19 > hg add
21 > hg add
20 > cd ..
22 > cd ..
21 > }
23 > }
22
24
23 $ testadd() {
25 $ testadd() {
24 > local stdin=`cat`
26 > cat - > "$stdin"
25 > mksubrepo sub
27 > mksubrepo sub
26 > echo sub = sub >> .hgsub
28 > echo sub = sub >> .hgsub
27 > hg add .hgsub
29 > hg add .hgsub
28 > echo % abort when adding .hgsub w/dirty subrepo
30 > echo % abort when adding .hgsub w/dirty subrepo
29 > hg status -S
31 > hg status -S
30 > echo '%' $*
32 > echo '%' $*
31 > echo "$stdin" | hg $*
33 > cat "$stdin" | hg $*
32 > echo [$?]
34 > echo [$?]
33 > hg -R sub ci -m0sub
35 > hg -R sub ci -m0sub
34 > echo % update substate when adding .hgsub w/clean updated subrepo
36 > echo % update substate when adding .hgsub w/clean updated subrepo
35 > hg status -S
37 > hg status -S
36 > echo '%' $*
38 > echo '%' $*
37 > echo "$stdin" | hg $*
39 > cat "$stdin" | hg $*
38 > hg debugsub
40 > hg debugsub
39 > }
41 > }
40
42
41 $ testmod() {
43 $ testmod() {
42 > local stdin=`cat`
44 > cat - > "$stdin"
43 > mksubrepo sub2
45 > mksubrepo sub2
44 > echo sub2 = sub2 >> .hgsub
46 > echo sub2 = sub2 >> .hgsub
45 > echo % abort when modifying .hgsub w/dirty subrepo
47 > echo % abort when modifying .hgsub w/dirty subrepo
46 > hg status -S
48 > hg status -S
47 > echo '%' $*
49 > echo '%' $*
48 > echo "$stdin" | hg $*
50 > cat "$stdin" | hg $*
49 > echo [$?]
51 > echo [$?]
50 > hg -R sub2 ci -m0sub2
52 > hg -R sub2 ci -m0sub2
51 > echo % update substate when modifying .hgsub w/clean updated subrepo
53 > echo % update substate when modifying .hgsub w/clean updated subrepo
52 > hg status -S
54 > hg status -S
53 > echo '%' $*
55 > echo '%' $*
54 > echo "$stdin" | hg $*
56 > cat "$stdin" | hg $*
55 > hg debugsub
57 > hg debugsub
56 > }
58 > }
57
59
58 $ testrm1() {
60 $ testrm1() {
61 > cat - > "$stdin"
59 > mksubrepo sub3
62 > mksubrepo sub3
60 > echo sub3 = sub3 >> .hgsub
63 > echo sub3 = sub3 >> .hgsub
61 > hg ci -Aqmsub3
64 > hg ci -Aqmsub3
62 > $EXTRA
65 > $EXTRA
63 > echo b >> sub3/a
66 > echo b >> sub3/a
64 > hg rm .hgsub
67 > hg rm .hgsub
65 > echo % update substate when removing .hgsub w/dirty subrepo
68 > echo % update substate when removing .hgsub w/dirty subrepo
66 > hg status -S
69 > hg status -S
67 > echo '%' $*
70 > echo '%' $*
68 > echo "$stdin" | hg $*
71 > cat "$stdin" | hg $*
69 > echo % debugsub should be empty
72 > echo % debugsub should be empty
70 > hg debugsub
73 > hg debugsub
71 > }
74 > }
75
72 $ testrm2() {
76 $ testrm2() {
77 > cat - > "$stdin"
73 > mksubrepo sub4
78 > mksubrepo sub4
74 > echo sub4 = sub4 >> .hgsub
79 > echo sub4 = sub4 >> .hgsub
75 > hg ci -Aqmsub4
80 > hg ci -Aqmsub4
76 > $EXTRA
81 > $EXTRA
77 > hg rm .hgsub
82 > hg rm .hgsub
78 > echo % update substate when removing .hgsub w/clean updated subrepo
83 > echo % update substate when removing .hgsub w/clean updated subrepo
79 > hg status -S
84 > hg status -S
80 > echo '%' $*
85 > echo '%' $*
81 > echo "$stdin" | hg $*
86 > cat "$stdin" | hg $*
82 > echo % debugsub should be empty
87 > echo % debugsub should be empty
83 > hg debugsub
88 > hg debugsub
84 > }
89 > }
85
90
86
91
87 handle subrepos safely on qnew
92 handle subrepos safely on qnew
88
93
89 $ mkrepo repo-2499-qnew
94 $ mkrepo repo-2499-qnew
90 $ testadd qnew -m0 0.diff
95 $ testadd qnew -m0 0.diff
91 adding a
96 adding a
92 % abort when adding .hgsub w/dirty subrepo
97 % abort when adding .hgsub w/dirty subrepo
93 A .hgsub
98 A .hgsub
94 A sub/a
99 A sub/a
95 % qnew -m0 0.diff
100 % qnew -m0 0.diff
96 abort: uncommitted changes in subrepository sub
101 abort: uncommitted changes in subrepository sub
97 [255]
102 [255]
98 % update substate when adding .hgsub w/clean updated subrepo
103 % update substate when adding .hgsub w/clean updated subrepo
99 A .hgsub
104 A .hgsub
100 % qnew -m0 0.diff
105 % qnew -m0 0.diff
101 committing subrepository sub
106 committing subrepository sub
102 path sub
107 path sub
103 source sub
108 source sub
104 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
109 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
105
110
106 $ testmod qnew -m1 1.diff
111 $ testmod qnew -m1 1.diff
107 adding a
112 adding a
108 % abort when modifying .hgsub w/dirty subrepo
113 % abort when modifying .hgsub w/dirty subrepo
109 M .hgsub
114 M .hgsub
110 A sub2/a
115 A sub2/a
111 % qnew -m1 1.diff
116 % qnew -m1 1.diff
112 abort: uncommitted changes in subrepository sub2
117 abort: uncommitted changes in subrepository sub2
113 [255]
118 [255]
114 % update substate when modifying .hgsub w/clean updated subrepo
119 % update substate when modifying .hgsub w/clean updated subrepo
115 M .hgsub
120 M .hgsub
116 % qnew -m1 1.diff
121 % qnew -m1 1.diff
117 committing subrepository sub2
122 committing subrepository sub2
118 path sub
123 path sub
119 source sub
124 source sub
120 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
125 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
121 path sub2
126 path sub2
122 source sub2
127 source sub2
123 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
128 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
124
129
125 $ hg qpop -qa
130 $ hg qpop -qa
126 patch queue now empty
131 patch queue now empty
127 $ testrm1 qnew -m2 2.diff
132 $ testrm1 qnew -m2 2.diff
128 adding a
133 adding a
129 % update substate when removing .hgsub w/dirty subrepo
134 % update substate when removing .hgsub w/dirty subrepo
130 M sub3/a
135 M sub3/a
131 R .hgsub
136 R .hgsub
132 % qnew -m2 2.diff
137 % qnew -m2 2.diff
133 % debugsub should be empty
138 % debugsub should be empty
134
139
135 $ hg qpop -qa
140 $ hg qpop -qa
136 patch queue now empty
141 patch queue now empty
137 $ testrm2 qnew -m3 3.diff
142 $ testrm2 qnew -m3 3.diff
138 adding a
143 adding a
139 % update substate when removing .hgsub w/clean updated subrepo
144 % update substate when removing .hgsub w/clean updated subrepo
140 R .hgsub
145 R .hgsub
141 % qnew -m3 3.diff
146 % qnew -m3 3.diff
142 % debugsub should be empty
147 % debugsub should be empty
143
148
144 $ cd ..
149 $ cd ..
145
150
146
151
147 handle subrepos safely on qrefresh
152 handle subrepos safely on qrefresh
148
153
149 $ mkrepo repo-2499-qrefresh
154 $ mkrepo repo-2499-qrefresh
150 $ hg qnew -m0 0.diff
155 $ hg qnew -m0 0.diff
151 $ testadd qrefresh
156 $ testadd qrefresh
152 adding a
157 adding a
153 % abort when adding .hgsub w/dirty subrepo
158 % abort when adding .hgsub w/dirty subrepo
154 A .hgsub
159 A .hgsub
155 A sub/a
160 A sub/a
156 % qrefresh
161 % qrefresh
157 abort: uncommitted changes in subrepository sub
162 abort: uncommitted changes in subrepository sub
158 [255]
163 [255]
159 % update substate when adding .hgsub w/clean updated subrepo
164 % update substate when adding .hgsub w/clean updated subrepo
160 A .hgsub
165 A .hgsub
161 % qrefresh
166 % qrefresh
162 committing subrepository sub
167 committing subrepository sub
163 path sub
168 path sub
164 source sub
169 source sub
165 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
170 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
166
171
167 $ hg qnew -m1 1.diff
172 $ hg qnew -m1 1.diff
168 $ testmod qrefresh
173 $ testmod qrefresh
169 adding a
174 adding a
170 % abort when modifying .hgsub w/dirty subrepo
175 % abort when modifying .hgsub w/dirty subrepo
171 M .hgsub
176 M .hgsub
172 A sub2/a
177 A sub2/a
173 % qrefresh
178 % qrefresh
174 abort: uncommitted changes in subrepository sub2
179 abort: uncommitted changes in subrepository sub2
175 [255]
180 [255]
176 % update substate when modifying .hgsub w/clean updated subrepo
181 % update substate when modifying .hgsub w/clean updated subrepo
177 M .hgsub
182 M .hgsub
178 % qrefresh
183 % qrefresh
179 committing subrepository sub2
184 committing subrepository sub2
180 path sub
185 path sub
181 source sub
186 source sub
182 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
187 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
183 path sub2
188 path sub2
184 source sub2
189 source sub2
185 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
190 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
186
191
187 $ hg qpop -qa
192 $ hg qpop -qa
188 patch queue now empty
193 patch queue now empty
189 $ EXTRA='hg qnew -m2 2.diff' testrm1 qrefresh
194 $ EXTRA='hg qnew -m2 2.diff' testrm1 qrefresh
190 adding a
195 adding a
191 % update substate when removing .hgsub w/dirty subrepo
196 % update substate when removing .hgsub w/dirty subrepo
192 M sub3/a
197 M sub3/a
193 R .hgsub
198 R .hgsub
194 % qrefresh
199 % qrefresh
195 % debugsub should be empty
200 % debugsub should be empty
196
201
197 $ hg qpop -qa
202 $ hg qpop -qa
198 patch queue now empty
203 patch queue now empty
199 $ EXTRA='hg qnew -m3 3.diff' testrm2 qrefresh
204 $ EXTRA='hg qnew -m3 3.diff' testrm2 qrefresh
200 adding a
205 adding a
201 % update substate when removing .hgsub w/clean updated subrepo
206 % update substate when removing .hgsub w/clean updated subrepo
202 R .hgsub
207 R .hgsub
203 % qrefresh
208 % qrefresh
204 % debugsub should be empty
209 % debugsub should be empty
205
210
206 $ cd ..
211 $ cd ..
207
212
208
213
209 handle subrepos safely on qpush/qpop
214 handle subrepos safely on qpush/qpop
210
215
211 $ mkrepo repo-2499-qpush
216 $ mkrepo repo-2499-qpush
212 $ mksubrepo sub
217 $ mksubrepo sub
213 adding a
218 adding a
214 $ hg -R sub ci -m0sub
219 $ hg -R sub ci -m0sub
215 $ echo sub = sub > .hgsub
220 $ echo sub = sub > .hgsub
216 $ hg add .hgsub
221 $ hg add .hgsub
217 $ hg qnew -m0 0.diff
222 $ hg qnew -m0 0.diff
218 committing subrepository sub
223 committing subrepository sub
219 $ hg debugsub
224 $ hg debugsub
220 path sub
225 path sub
221 source sub
226 source sub
222 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
227 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
223
228
224 qpop
229 qpop
225 $ hg qpop
230 $ hg qpop
226 popping 0.diff
231 popping 0.diff
227 patch queue now empty
232 patch queue now empty
228 $ hg status -AS
233 $ hg status -AS
229 $ hg debugsub
234 $ hg debugsub
230
235
231 qpush
236 qpush
232 $ hg qpush
237 $ hg qpush
233 applying 0.diff
238 applying 0.diff
234 now at: 0.diff
239 now at: 0.diff
235 $ hg status -AS
240 $ hg status -AS
236 C .hgsub
241 C .hgsub
237 C .hgsubstate
242 C .hgsubstate
238 C sub/a
243 C sub/a
239 $ hg debugsub
244 $ hg debugsub
240 path sub
245 path sub
241 source sub
246 source sub
242 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
247 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
243
248
244 $ cd ..
249 $ cd ..
245
250
246
251
247 handle subrepos safely on qrecord
252 handle subrepos safely on qrecord
248
253
249 $ mkrepo repo-2499-qrecord
254 $ mkrepo repo-2499-qrecord
250 $ testadd qrecord --config ui.interactive=1 -m0 0.diff <<EOF
255 $ testadd qrecord --config ui.interactive=1 -m0 0.diff <<EOF
251 > y
256 > y
252 > y
257 > y
253 > EOF
258 > EOF
254 adding a
259 adding a
255 % abort when adding .hgsub w/dirty subrepo
260 % abort when adding .hgsub w/dirty subrepo
256 A .hgsub
261 A .hgsub
257 A sub/a
262 A sub/a
258 % qrecord --config ui.interactive=1 -m0 0.diff
263 % qrecord --config ui.interactive=1 -m0 0.diff
259 diff --git a/.hgsub b/.hgsub
264 diff --git a/.hgsub b/.hgsub
260 new file mode 100644
265 new file mode 100644
261 examine changes to '.hgsub'? [Ynsfdaq?]
266 examine changes to '.hgsub'? [Ynsfdaq?]
262 abort: uncommitted changes in subrepository sub
267 abort: uncommitted changes in subrepository sub
263 [255]
268 [255]
264 % update substate when adding .hgsub w/clean updated subrepo
269 % update substate when adding .hgsub w/clean updated subrepo
265 A .hgsub
270 A .hgsub
266 % qrecord --config ui.interactive=1 -m0 0.diff
271 % qrecord --config ui.interactive=1 -m0 0.diff
267 diff --git a/.hgsub b/.hgsub
272 diff --git a/.hgsub b/.hgsub
268 new file mode 100644
273 new file mode 100644
269 examine changes to '.hgsub'? [Ynsfdaq?]
274 examine changes to '.hgsub'? [Ynsfdaq?]
270 committing subrepository sub
275 committing subrepository sub
271 path sub
276 path sub
272 source sub
277 source sub
273 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
278 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
274
279
275 $ testmod qrecord --config ui.interactive=1 -m1 1.diff <<EOF
280 $ testmod qrecord --config ui.interactive=1 -m1 1.diff <<EOF
276 > y
281 > y
277 > y
282 > y
278 > EOF
283 > EOF
279 adding a
284 adding a
280 % abort when modifying .hgsub w/dirty subrepo
285 % abort when modifying .hgsub w/dirty subrepo
281 M .hgsub
286 M .hgsub
282 A sub2/a
287 A sub2/a
283 % qrecord --config ui.interactive=1 -m1 1.diff
288 % qrecord --config ui.interactive=1 -m1 1.diff
284 diff --git a/.hgsub b/.hgsub
289 diff --git a/.hgsub b/.hgsub
285 1 hunks, 1 lines changed
290 1 hunks, 1 lines changed
286 examine changes to '.hgsub'? [Ynsfdaq?]
291 examine changes to '.hgsub'? [Ynsfdaq?]
287 @@ -1,1 +1,2 @@
292 @@ -1,1 +1,2 @@
288 sub = sub
293 sub = sub
289 +sub2 = sub2
294 +sub2 = sub2
290 record this change to '.hgsub'? [Ynsfdaq?]
295 record this change to '.hgsub'? [Ynsfdaq?]
291 abort: uncommitted changes in subrepository sub2
296 abort: uncommitted changes in subrepository sub2
292 [255]
297 [255]
293 % update substate when modifying .hgsub w/clean updated subrepo
298 % update substate when modifying .hgsub w/clean updated subrepo
294 M .hgsub
299 M .hgsub
295 % qrecord --config ui.interactive=1 -m1 1.diff
300 % qrecord --config ui.interactive=1 -m1 1.diff
296 diff --git a/.hgsub b/.hgsub
301 diff --git a/.hgsub b/.hgsub
297 1 hunks, 1 lines changed
302 1 hunks, 1 lines changed
298 examine changes to '.hgsub'? [Ynsfdaq?]
303 examine changes to '.hgsub'? [Ynsfdaq?]
299 @@ -1,1 +1,2 @@
304 @@ -1,1 +1,2 @@
300 sub = sub
305 sub = sub
301 +sub2 = sub2
306 +sub2 = sub2
302 record this change to '.hgsub'? [Ynsfdaq?]
307 record this change to '.hgsub'? [Ynsfdaq?]
303 committing subrepository sub2
308 committing subrepository sub2
304 path sub
309 path sub
305 source sub
310 source sub
306 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
311 revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31
307 path sub2
312 path sub2
308 source sub2
313 source sub2
309 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
314 revision 1f94c7611cc6b74f5a17b16121a1170d44776845
310
315
311 $ hg qpop -qa
316 $ hg qpop -qa
312 patch queue now empty
317 patch queue now empty
313 $ EXTRA= testrm1 qrecord --config ui.interactive=1 -m2 2.diff <<EOF
318 $ EXTRA= testrm1 qrecord --config ui.interactive=1 -m2 2.diff <<EOF
314 > y
319 > y
315 > y
320 > y
316 > EOF
321 > EOF
317 adding a
322 adding a
318 % update substate when removing .hgsub w/dirty subrepo
323 % update substate when removing .hgsub w/dirty subrepo
319 M sub3/a
324 M sub3/a
320 R .hgsub
325 R .hgsub
321 % qrecord --config ui.interactive=1 -m2 2.diff
326 % qrecord --config ui.interactive=1 -m2 2.diff
322 diff --git a/.hgsub b/.hgsub
327 diff --git a/.hgsub b/.hgsub
323 deleted file mode 100644
328 deleted file mode 100644
324 examine changes to '.hgsub'? [Ynsfdaq?]
329 examine changes to '.hgsub'? [Ynsfdaq?]
325 % debugsub should be empty
330 % debugsub should be empty
326
331
327 $ hg qpop -qa
332 $ hg qpop -qa
328 patch queue now empty
333 patch queue now empty
329 $ EXTRA= testrm2 qrecord --config ui.interactive=1 -m3 3.diff <<EOF
334 $ EXTRA= testrm2 qrecord --config ui.interactive=1 -m3 3.diff <<EOF
330 > y
335 > y
331 > y
336 > y
332 > EOF
337 > EOF
333 adding a
338 adding a
334 % update substate when removing .hgsub w/clean updated subrepo
339 % update substate when removing .hgsub w/clean updated subrepo
335 R .hgsub
340 R .hgsub
336 % qrecord --config ui.interactive=1 -m3 3.diff
341 % qrecord --config ui.interactive=1 -m3 3.diff
337 diff --git a/.hgsub b/.hgsub
342 diff --git a/.hgsub b/.hgsub
338 deleted file mode 100644
343 deleted file mode 100644
339 examine changes to '.hgsub'? [Ynsfdaq?]
344 examine changes to '.hgsub'? [Ynsfdaq?]
340 % debugsub should be empty
345 % debugsub should be empty
341
346
342 $ cd ..
347 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now