comparison tests/test-rebase-mq.t @ 16531:b9f51f49bf2a stable

rebase: preserve mq series order, guarded patches (issue2849) The previous code was rebasing an applied series like: patch1 +guarded patch2 patch3 +guarded patch4 patch5 +guarded into: patch2 patch4 patch1 +guarded patch3 +guarded patch5 +guarded Reported by Lars Westerhoff <lars.westerhoff@newtec.eu> Also rename mq.series_dirty into mq.seriesdirty, missed by 599a72895c0d, and without effect since mq.qimport() was setting it already.
author Patrick Mezard <patrick@mezard.eu>
date Wed, 25 Apr 2012 17:04:18 +0200
parents 7d28d6a67dd3
children 6ef3107c661e
comparison
equal deleted inserted replaced
16530:e37199a1f9d4 16531:b9f51f49bf2a
245 adding a 245 adding a
246 246
247 Create mq repo with guarded patches foo and bar and empty patch: 247 Create mq repo with guarded patches foo and bar and empty patch:
248 248
249 $ hg qinit 249 $ hg qinit
250 $ hg qnew foo 250 $ echo guarded > guarded
251 $ hg qguard foo +baz 251 $ hg add guarded
252 $ hg qnew guarded
253 $ hg qnew empty-important -m 'important commit message'
254 $ echo bar > bar
255 $ hg add bar
256 $ hg qnew bar
252 $ echo foo > foo 257 $ echo foo > foo
253 $ hg add foo 258 $ hg add foo
254 $ hg qref 259 $ hg qnew foo
255 $ hg qpop 260 $ hg qpop -a
256 popping foo 261 popping foo
262 popping bar
263 popping empty-important
264 popping guarded
257 patch queue now empty 265 patch queue now empty
258 266 $ hg qguard guarded +guarded
259 $ hg qnew empty-important -m 'important commit message'
260
261 $ hg qnew bar
262 $ hg qguard bar +baz 267 $ hg qguard bar +baz
263 $ echo bar > bar 268 $ hg qguard foo +baz
264 $ hg add bar 269 $ hg qselect baz
265 $ hg qref 270 number of unguarded, unapplied patches has changed from 1 to 3
271 $ hg qpush bar
272 applying empty-important
273 patch empty-important is empty
274 applying bar
275 now at: bar
266 276
267 $ hg qguard -l 277 $ hg qguard -l
278 guarded: +guarded
268 empty-important: unguarded 279 empty-important: unguarded
269 bar: +baz 280 bar: +baz
270 foo: +baz 281 foo: +baz
271 282
272 $ hg tglog 283 $ hg tglog
273 @ 2: '[mq]: bar' tags: bar qtip tip 284 @ 2: 'imported patch bar' tags: bar qtip tip
274 | 285 |
275 o 1: 'important commit message' tags: empty-important qbase 286 o 1: 'important commit message' tags: empty-important qbase
276 | 287 |
277 o 0: 'a' tags: qparent 288 o 0: 'a' tags: qparent
278 289
301 312
302 Rebase bar (make sure series order is preserved and empty-important also is 313 Rebase bar (make sure series order is preserved and empty-important also is
303 removed from the series): 314 removed from the series):
304 315
305 $ hg qseries 316 $ hg qseries
317 guarded
306 empty-important 318 empty-important
307 bar 319 bar
308 foo 320 foo
309 $ [ -f .hg/patches/empty-important ] 321 $ [ -f .hg/patches/empty-important ]
310 $ hg -q rebase -d 2 322 $ hg -q rebase -d 2
311 $ hg qseries 323 $ hg qseries
324 guarded
312 bar 325 bar
313 foo 326 foo
314 $ [ -f .hg/patches/empty-important ] 327 $ [ -f .hg/patches/empty-important ]
315 [1] 328 [1]
316 329
317 $ hg qguard -l 330 $ hg qguard -l
331 guarded: +guarded
318 bar: +baz 332 bar: +baz
319 foo: +baz 333 foo: +baz
320 334
321 $ hg tglog 335 $ hg tglog
322 @ 2:* '[mq]: bar' tags: bar qbase qtip tip (glob) 336 @ 2:* '[mq]: bar' tags: bar qbase qtip tip (glob)