tests/test-rebase-mq.t
changeset 12608 16b854cb80f1
parent 11536 92342fa9fbd8
child 12640 6cc4b14fb76b
--- /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 <<EOF
+  > [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
+