diff -r 1393a81b3bdc -r 16b854cb80f1 tests/test-rebase-mq.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-rebase-mq.t Fri Oct 01 16:10:06 2010 +0200 @@ -0,0 +1,237 @@ + $ cat >> $HGRCPATH < [extensions] + > graphlog= + > rebase= + > mq= + > + > [mq] + > plain=true + > + > [alias] + > tglog = log -G --template "{rev}: '{desc}' tags: {tags}\n" + > EOF + + + $ hg init a + $ cd a + $ hg qinit -c + + $ echo c1 > f + $ hg add f + $ hg ci -m C1 + + $ echo r1 > f + $ hg ci -m R1 + + $ hg up -q 0 + + $ hg qnew f.patch + $ echo mq1 > f + $ hg qref -m P0 + + $ hg qnew f2.patch + $ echo mq2 > f + $ hg qref -m P1 + + $ hg tglog + @ 3: 'P1' tags: f2.patch qtip tip + | + o 2: 'P0' tags: f.patch qbase + | + | o 1: 'R1' tags: + |/ + o 0: 'C1' tags: qparent + + +Rebase - try to rebase on an applied mq patch: + + $ hg rebase -s 1 -d 3 + abort: cannot rebase onto an applied mq patch + [255] + +Rebase - same thing, but mq patch is default dest: + + $ hg up -q 1 + $ hg rebase + abort: cannot rebase onto an applied mq patch + [255] + $ hg up -q qtip + +Rebase - generate a conflict: + + $ hg rebase -s 2 -d 1 + merging f + warning: conflicts during merge. + merging f failed! + abort: fix unresolved conflicts with hg resolve then run hg rebase --continue + [255] + +Fix the 1st conflict: + + $ echo mq1r1 > f + $ hg resolve -m f + $ hg rebase -c + merging f + warning: conflicts during merge. + merging f failed! + abort: fix unresolved conflicts with hg resolve then run hg rebase --continue + [255] + +Fix the 2nd conflict: + + $ echo mq1r1mq2 > f + $ hg resolve -m f + $ hg rebase -c + saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) + + $ hg tglog + @ 3: 'P1' tags: f2.patch qtip tip + | + o 2: 'P0' tags: f.patch qbase + | + o 1: 'R1' tags: qparent + | + o 0: 'C1' tags: + + $ hg up -q qbase + + $ cat f + mq1r1 + + $ cat .hg/patches/f.patch + # HG changeset patch + # User test + # Date ?????????? ? (glob) + # Node ID ???????????????????????????????????????? (glob) + # Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0 + P0 + + diff -r bac9ed9960d8 -r ???????????? f (glob) + --- a/f Thu Jan 01 00:00:00 1970 +0000 + +++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob) + @@ -1,1 +1,1 @@ + -r1 + +mq1r1 + +Update to qtip: + + $ hg up -q qtip + + $ cat f + mq1r1mq2 + + $ cat .hg/patches/f2.patch + # HG changeset patch + # User test + # Date ?????????? ? (glob) + # Node ID ???????????????????????????????????????? (glob) + # Parent ???????????????????????????????????????? (glob) + P1 + + diff -r ???????????? -r ???????????? f (glob) + --- a/f ??? ??? ?? ??:??:?? ???? ????? (glob) + +++ b/f ??? ??? ?? ??:??:?? ???? ????? (glob) + @@ -1,1 +1,1 @@ + -mq1r1 + +mq1r1mq2 + +Adding one git-style patch and one normal: + + $ hg qpop -a + popping f2.patch + popping f.patch + patch queue now empty + + $ rm -fr .hg/patches + $ hg qinit -c + + $ hg up -q 0 + + $ hg qnew --git f_git.patch + $ echo mq1 > p + $ hg add p + $ hg qref --git -m 'P0 (git)' + + $ hg qnew f.patch + $ echo mq2 > p + $ hg qref -m P1 + $ hg qci -m 'save patch state' + + $ hg qseries -s + f_git.patch: P0 (git) + f.patch: P1 + + $ hg -R .hg/patches manifest + .hgignore + f.patch + f_git.patch + series + + $ cat .hg/patches/f_git.patch + P0 (git) + + diff --git a/p b/p + new file mode 100644 + --- /dev/null + +++ b/p + @@ -0,0 +1,1 @@ + +mq1 + + $ cat .hg/patches/f.patch + P1 + + diff -r ???????????? p (glob) + --- a/p ??? ??? ?? ??:??:?? ???? ????? (glob) + +++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob) + @@ -1,1 +1,1 @@ + -mq1 + +mq2 + + +Rebase the applied mq patches: + + $ hg rebase -s 2 -d 1 + saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) + + $ hg qci -m 'save patch state' + + $ hg qseries -s + f_git.patch: P0 (git) + f.patch: P1 + + $ hg -R .hg/patches manifest + .hgignore + f.patch + f_git.patch + series + + $ cat .hg/patches/f_git.patch + # HG changeset patch + # User test + # Date ?????????? ? (glob) + # Node ID ???????????????????????????????????????? (glob) + # Parent bac9ed9960d8992bcad75864a879fa76cadaf1b0 + P0 (git) + + diff --git a/p b/p + new file mode 100644 + --- /dev/null + +++ b/p + @@ -0,0 +1,1 @@ + +mq1 + + $ cat .hg/patches/f.patch + # HG changeset patch + # User test + # Date ?????????? ? (glob) + # Node ID ???????????????????????????????????????? (glob) + # Parent ???????????????????????????????????????? (glob) + P1 + + diff -r ???????????? -r ???????????? p (glob) + --- a/p ??? ??? ?? ??:??:?? ???? ????? (glob) + +++ b/p ??? ??? ?? ??:??:?? ???? ????? (glob) + @@ -1,1 +1,1 @@ + -mq1 + +mq2 +