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