tests/test-mq-qdelete.t
changeset 12324 b701610f6c56
parent 11365 c3d7daa0928e
child 12655 5192b24f309c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-qdelete.t	Sun Sep 19 23:42:18 2010 +0200
@@ -0,0 +1,150 @@
+  $ echo "[extensions]" >> $HGRCPATH
+  $ echo "mq=" >> $HGRCPATH
+
+  $ hg init a
+  $ cd a
+
+  $ echo 'base' > base
+  $ hg ci -Ambase -d '1 0'
+  adding base
+
+  $ hg qnew -d '1 0' a
+  $ hg qnew -d '1 0' b
+  $ hg qnew -d '1 0' c
+
+  $ hg qdel
+  abort: qdelete requires at least one revision or patch name
+  [255]
+
+  $ hg qdel c
+  abort: cannot delete applied patch c
+  [255]
+
+  $ hg qpop
+  popping c
+  now at: b
+
+  $ hg qdel c
+
+  $ hg qseries
+  a
+  b
+
+  $ ls .hg/patches
+  a
+  b
+  series
+  status
+
+  $ hg qpop
+  popping b
+  now at: a
+
+  $ hg qdel -k 1
+
+  $ ls .hg/patches
+  a
+  b
+  series
+  status
+
+  $ hg qdel -r a
+  patch a finalized without changeset message
+
+  $ hg qapplied
+
+  $ hg log --template '{rev} {desc}\n'
+  1 [mq]: a
+  0 base
+
+  $ hg qnew d
+  $ hg qnew e
+  $ hg qnew f
+
+  $ hg qdel -r e
+  abort: cannot delete revision 3 above applied patches
+  [255]
+
+  $ hg qdel -r qbase:e
+  patch d finalized without changeset message
+  patch e finalized without changeset message
+
+  $ hg qapplied
+  f
+
+  $ hg log --template '{rev} {desc}\n'
+  4 [mq]: f
+  3 [mq]: e
+  2 [mq]: d
+  1 [mq]: a
+  0 base
+
+  $ cd ..
+
+  $ hg init b
+  $ cd b
+
+  $ echo 'base' > base
+  $ hg ci -Ambase -d '1 0'
+  adding base
+
+  $ hg qfinish
+  abort: no revisions specified
+  [255]
+
+  $ hg qfinish -a
+  no patches applied
+
+  $ hg qnew -d '1 0' a
+  $ hg qnew -d '1 0' b
+  $ hg qnew c # XXX fails to apply by /usr/bin/patch if we put a date
+
+  $ hg qfinish 0
+  abort: revision 0 is not managed
+  [255]
+
+  $ hg qfinish b
+  abort: cannot delete revision 2 above applied patches
+  [255]
+
+  $ hg qpop
+  popping c
+  now at: b
+
+  $ hg qfinish -a c
+  abort: unknown revision 'c'!
+  [255]
+
+  $ hg qpush
+  applying c
+  patch c is empty
+  now at: c
+
+  $ hg qfinish qbase:b
+  patch a finalized without changeset message
+  patch b finalized without changeset message
+
+  $ hg qapplied
+  c
+
+  $ hg log --template '{rev} {desc}\n'
+  3 imported patch c
+  2 [mq]: b
+  1 [mq]: a
+  0 base
+
+  $ hg qfinish -a c
+  patch c finalized without changeset message
+
+  $ hg qapplied
+
+  $ hg log --template '{rev} {desc}\n'
+  3 imported patch c
+  2 [mq]: b
+  1 [mq]: a
+  0 base
+
+  $ ls .hg/patches
+  series
+  status
+