Mercurial > hg
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) |