tests: unify test-mq-header-from
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 13:43:21 -0500
changeset 12462 da2cfdc33fe8
parent 12461 4a86b30de425
child 12463 9f551ca3bb44
tests: unify test-mq-header-from
tests/test-mq-header-from
tests/test-mq-header-from.out
tests/test-mq-header-from.t
--- a/tests/test-mq-header-from	Sun Sep 26 13:43:21 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-#!/bin/sh
-
-echo "[extensions]" >> $HGRCPATH
-echo "mq=" >> $HGRCPATH
-echo "[diff]" >> $HGRCPATH
-echo "nodates=true" >> $HGRCPATH
-
-
-catlog() {
-    cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /" \
-                                   -e "s/^\(# Parent \).*/\1/"
-    hg log --template "{rev}: {desc} - {author}\n"
-}
-
-runtest() {
-    echo ==== init
-    hg init a
-    cd a
-    hg qinit
-
-
-    echo ==== qnew -U
-    hg qnew -U 1.patch
-    catlog 1
-
-    echo ==== qref
-    echo "1" >1
-    hg add
-    hg qref
-    catlog 1
-
-    echo ==== qref -u
-    hg qref -u mary
-    catlog 1
-
-    echo ==== qnew
-    hg qnew 2.patch
-    echo "2" >2
-    hg add
-    hg qref
-    catlog 2
-
-    echo ==== qref -u
-    hg qref -u jane
-    catlog 2
-
-
-    echo ==== qnew -U -m
-    hg qnew -U -m "Three" 3.patch
-    catlog 3
-
-    echo ==== qref
-    echo "3" >3
-    hg add
-    hg qref
-    catlog 3
-
-    echo ==== qref -m
-    hg qref -m "Drei"
-    catlog 3
-
-    echo ==== qref -u
-    hg qref -u mary
-    catlog 3
-
-    echo ==== qref -u -m
-    hg qref -u maria -m "Three (again)"
-    catlog 3
-
-    echo ==== qnew -m
-    hg qnew -m "Four" 4.patch
-    echo "4" >4of t
-    hg add
-    hg qref
-    catlog 4
-
-    echo ==== qref -u
-    hg qref -u jane
-    catlog 4
-
-
-    echo ==== qnew with HG header
-    hg qnew --config 'mq.plain=true' 5.patch
-    hg qpop
-    echo "# HG changeset patch" >>.hg/patches/5.patch
-    echo "# User johndoe" >>.hg/patches/5.patch
-    hg qpush 2>&1 | grep 'now at'
-    catlog 5
-
-    echo ==== hg qref
-    echo "5" >5
-    hg add
-    hg qref
-    catlog 5
-
-    echo ==== hg qref -U
-    hg qref -U
-    catlog 5
-
-    echo ==== hg qref -u
-    hg qref -u johndeere
-    catlog 5
-
-
-    echo ==== qnew with plain header
-    hg qnew --config 'mq.plain=true' -U 6.patch
-    hg qpop
-    hg qpush 2>&1 | grep 'now at'
-    catlog 6
-
-    echo ==== hg qref
-    echo "6" >6
-    hg add
-    hg qref
-    catlog 6
-
-    echo ==== hg qref -U
-    hg qref -U
-    catlog 6
-
-    echo ==== hg qref -u
-    hg qref -u johndeere
-    catlog 6
-
-
-    echo ==== "qpop -a / qpush -a"
-    hg qpop -a
-    hg qpush -a
-    hg log --template "{rev}: {desc} - {author}\n"
-}
-
-
-echo ======= plain headers
-
-echo "[mq]" >> $HGRCPATH
-echo "plain=true" >> $HGRCPATH
-
-mkdir sandbox
-(cd sandbox ; runtest)
-rm -r sandbox
-
-
-echo ======= hg headers
-
-echo "plain=false" >> $HGRCPATH
-
-mkdir sandbox
-(cd sandbox ; runtest)
-rm -r sandbox
-
-runtest
--- a/tests/test-mq-header-from.out	Sun Sep 26 13:43:21 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,829 +0,0 @@
-======= plain headers
-==== init
-==== qnew -U
-From: test
-
-0: [mq]: 1.patch - test
-==== qref
-adding 1
-From: test
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - test
-==== qref -u
-From: mary
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - mary
-==== qnew
-adding 2
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - test
-0: [mq]: 1.patch - mary
-==== qref -u
-From: jane
-
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -U -m
-From: test
-
-Three
-
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref
-adding 3
-From: test
-
-Three
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -m
-From: test
-
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-From: mary
-
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - mary
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u -m
-From: maria
-
-Three (again)
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -m
-adding 4of
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - test
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-From: jane
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with HG header
-popping 5.patch
-now at: 4.patch
-now at: 5.patch
-# HG changeset patch
-# User johndoe
-4: imported patch 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 5
-# HG changeset patch
-# Parent 
-# User johndoe
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-# HG changeset patch
-# Parent 
-# User test
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - test
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-# HG changeset patch
-# Parent 
-# User johndeere
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with plain header
-popping 6.patch
-now at: 5.patch
-now at: 6.patch
-From: test
-
-5: imported patch 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 6
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-From: johndeere
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - johndeere
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qpop -a / qpush -a
-popping 6.patch
-popping 5.patch
-popping 4.patch
-popping 3.patch
-popping 2.patch
-popping 1.patch
-patch queue now empty
-applying 1.patch
-applying 2.patch
-applying 3.patch
-applying 4.patch
-applying 5.patch
-applying 6.patch
-now at: 6.patch
-5: imported patch 6.patch - johndeere
-4: imported patch 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: imported patch 2.patch - jane
-0: imported patch 1.patch - mary
-======= hg headers
-==== init
-==== qnew -U
-# HG changeset patch
-# Parent 
-# User test
-0: [mq]: 1.patch - test
-==== qref
-adding 1
-# HG changeset patch
-# Parent 
-# User test
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - test
-==== qref -u
-# HG changeset patch
-# Parent 
-# User mary
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - mary
-==== qnew
-adding 2
-# HG changeset patch
-# Parent 
-
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - test
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# User jane
-# Parent 
-
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -U -m
-# HG changeset patch
-# Parent 
-# User test
-Three
-
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref
-adding 3
-# HG changeset patch
-# Parent 
-# User test
-Three
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -m
-# HG changeset patch
-# Parent 
-# User test
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# Parent 
-# User mary
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - mary
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u -m
-# HG changeset patch
-# Parent 
-# User maria
-Three (again)
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -m
-adding 4of
-# HG changeset patch
-# Parent 
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - test
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# User jane
-# Parent 
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with HG header
-popping 5.patch
-now at: 4.patch
-now at: 5.patch
-# HG changeset patch
-# User johndoe
-4: imported patch 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 5
-# HG changeset patch
-# Parent 
-# User johndoe
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-# HG changeset patch
-# Parent 
-# User test
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - test
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-# HG changeset patch
-# Parent 
-# User johndeere
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with plain header
-popping 6.patch
-now at: 5.patch
-now at: 6.patch
-From: test
-
-5: imported patch 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 6
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-From: johndeere
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - johndeere
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qpop -a / qpush -a
-popping 6.patch
-popping 5.patch
-popping 4.patch
-popping 3.patch
-popping 2.patch
-popping 1.patch
-patch queue now empty
-applying 1.patch
-applying 2.patch
-applying 3.patch
-applying 4.patch
-applying 5.patch
-applying 6.patch
-now at: 6.patch
-5: imported patch 6.patch - johndeere
-4: imported patch 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: imported patch 2.patch - jane
-0: imported patch 1.patch - mary
-==== init
-==== qnew -U
-# HG changeset patch
-# Parent 
-# User test
-0: [mq]: 1.patch - test
-==== qref
-adding 1
-# HG changeset patch
-# Parent 
-# User test
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - test
-==== qref -u
-# HG changeset patch
-# Parent 
-# User mary
-
-diff -r ... 1
---- /dev/null
-+++ b/1
-@@ -0,0 +1,1 @@
-+1
-0: [mq]: 1.patch - mary
-==== qnew
-adding 2
-# HG changeset patch
-# Parent 
-
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - test
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# User jane
-# Parent 
-
-diff -r ... 2
---- /dev/null
-+++ b/2
-@@ -0,0 +1,1 @@
-+2
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -U -m
-# HG changeset patch
-# Parent 
-# User test
-Three
-
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref
-adding 3
-# HG changeset patch
-# Parent 
-# User test
-Three
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -m
-# HG changeset patch
-# Parent 
-# User test
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - test
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# Parent 
-# User mary
-Drei
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Drei - mary
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u -m
-# HG changeset patch
-# Parent 
-# User maria
-Three (again)
-
-diff -r ... 3
---- /dev/null
-+++ b/3
-@@ -0,0 +1,1 @@
-+3
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew -m
-adding 4of
-# HG changeset patch
-# Parent 
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - test
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qref -u
-# HG changeset patch
-# User jane
-# Parent 
-Four
-
-diff -r ... 4of
---- /dev/null
-+++ b/4of
-@@ -0,0 +1,1 @@
-+4 t
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with HG header
-popping 5.patch
-now at: 4.patch
-now at: 5.patch
-# HG changeset patch
-# User johndoe
-4: imported patch 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 5
-# HG changeset patch
-# Parent 
-# User johndoe
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndoe
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-# HG changeset patch
-# Parent 
-# User test
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - test
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-# HG changeset patch
-# Parent 
-# User johndeere
-
-diff -r ... 5
---- /dev/null
-+++ b/5
-@@ -0,0 +1,1 @@
-+5
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qnew with plain header
-popping 6.patch
-now at: 5.patch
-now at: 6.patch
-From: test
-
-5: imported patch 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref
-adding 6
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -U
-From: test
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - test
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== hg qref -u
-From: johndeere
-
-diff -r ... 6
---- /dev/null
-+++ b/6
-@@ -0,0 +1,1 @@
-+6
-5: [mq]: 6.patch - johndeere
-4: [mq]: 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: [mq]: 2.patch - jane
-0: [mq]: 1.patch - mary
-==== qpop -a / qpush -a
-popping 6.patch
-popping 5.patch
-popping 4.patch
-popping 3.patch
-popping 2.patch
-popping 1.patch
-patch queue now empty
-applying 1.patch
-applying 2.patch
-applying 3.patch
-applying 4.patch
-applying 5.patch
-applying 6.patch
-now at: 6.patch
-5: imported patch 6.patch - johndeere
-4: imported patch 5.patch - johndeere
-3: Four - jane
-2: Three (again) - maria
-1: imported patch 2.patch - jane
-0: imported patch 1.patch - mary
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-header-from.t	Sun Sep 26 13:43:21 2010 -0500
@@ -0,0 +1,969 @@
+
+  $ echo "[extensions]" >> $HGRCPATH
+  $ echo "mq=" >> $HGRCPATH
+  $ echo "[diff]" >> $HGRCPATH
+  $ echo "nodates=true" >> $HGRCPATH
+  $ catlog() {
+  >     cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /" \
+  >                                    -e "s/^\(# Parent \).*/\1/"
+  >     hg log --template "{rev}: {desc} - {author}\n"
+  > }
+  $ runtest() {
+  >     echo ==== init
+  >     hg init a
+  >     cd a
+  >     hg qinit
+  > 
+  > 
+  >     echo ==== qnew -U
+  >     hg qnew -U 1.patch
+  >     catlog 1
+  > 
+  >     echo ==== qref
+  >     echo "1" >1
+  >     hg add
+  >     hg qref
+  >     catlog 1
+  > 
+  >     echo ==== qref -u
+  >     hg qref -u mary
+  >     catlog 1
+  > 
+  >     echo ==== qnew
+  >     hg qnew 2.patch
+  >     echo "2" >2
+  >     hg add
+  >     hg qref
+  >     catlog 2
+  > 
+  >     echo ==== qref -u
+  >     hg qref -u jane
+  >     catlog 2
+  > 
+  > 
+  >     echo ==== qnew -U -m
+  >     hg qnew -U -m "Three" 3.patch
+  >     catlog 3
+  > 
+  >     echo ==== qref
+  >     echo "3" >3
+  >     hg add
+  >     hg qref
+  >     catlog 3
+  > 
+  >     echo ==== qref -m
+  >     hg qref -m "Drei"
+  >     catlog 3
+  > 
+  >     echo ==== qref -u
+  >     hg qref -u mary
+  >     catlog 3
+  > 
+  >     echo ==== qref -u -m
+  >     hg qref -u maria -m "Three (again)"
+  >     catlog 3
+  > 
+  >     echo ==== qnew -m
+  >     hg qnew -m "Four" 4.patch
+  >     echo "4" >4of t
+  >     hg add
+  >     hg qref
+  >     catlog 4
+  > 
+  >     echo ==== qref -u
+  >     hg qref -u jane
+  >     catlog 4
+  > 
+  > 
+  >     echo ==== qnew with HG header
+  >     hg qnew --config 'mq.plain=true' 5.patch
+  >     hg qpop
+  >     echo "# HG changeset patch" >>.hg/patches/5.patch
+  >     echo "# User johndoe" >>.hg/patches/5.patch
+  >     hg qpush 2>&1 | grep 'now at'
+  >     catlog 5
+  > 
+  >     echo ==== hg qref
+  >     echo "5" >5
+  >     hg add
+  >     hg qref
+  >     catlog 5
+  > 
+  >     echo ==== hg qref -U
+  >     hg qref -U
+  >     catlog 5
+  > 
+  >     echo ==== hg qref -u
+  >     hg qref -u johndeere
+  >     catlog 5
+  > 
+  > 
+  >     echo ==== qnew with plain header
+  >     hg qnew --config 'mq.plain=true' -U 6.patch
+  >     hg qpop
+  >     hg qpush 2>&1 | grep 'now at'
+  >     catlog 6
+  > 
+  >     echo ==== hg qref
+  >     echo "6" >6
+  >     hg add
+  >     hg qref
+  >     catlog 6
+  > 
+  >     echo ==== hg qref -U
+  >     hg qref -U
+  >     catlog 6
+  > 
+  >     echo ==== hg qref -u
+  >     hg qref -u johndeere
+  >     catlog 6
+  > 
+  > 
+  >     echo ==== "qpop -a / qpush -a"
+  >     hg qpop -a
+  >     hg qpush -a
+  >     hg log --template "{rev}: {desc} - {author}\n"
+  > }
+
+======= plain headers
+
+  $ echo "[mq]" >> $HGRCPATH
+  $ echo "plain=true" >> $HGRCPATH
+  $ mkdir sandbox
+  $ (cd sandbox ; runtest)
+  ==== init
+  ==== qnew -U
+  From: test
+  
+  0: [mq]: 1.patch - test
+  ==== qref
+  adding 1
+  From: test
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - test
+  ==== qref -u
+  From: mary
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - mary
+  ==== qnew
+  adding 2
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - test
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  From: jane
+  
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -U -m
+  From: test
+  
+  Three
+  
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref
+  adding 3
+  From: test
+  
+  Three
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -m
+  From: test
+  
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  From: mary
+  
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - mary
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u -m
+  From: maria
+  
+  Three (again)
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -m
+  adding 4of
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - test
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  From: jane
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with HG header
+  popping 5.patch
+  now at: 4.patch
+  now at: 5.patch
+  # HG changeset patch
+  # User johndoe
+  4: imported patch 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 5
+  # HG changeset patch
+  # Parent 
+  # User johndoe
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  # HG changeset patch
+  # Parent 
+  # User test
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - test
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  # HG changeset patch
+  # Parent 
+  # User johndeere
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with plain header
+  popping 6.patch
+  now at: 5.patch
+  now at: 6.patch
+  From: test
+  
+  5: imported patch 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 6
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  From: johndeere
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - johndeere
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qpop -a / qpush -a
+  popping 6.patch
+  popping 5.patch
+  popping 4.patch
+  popping 3.patch
+  popping 2.patch
+  popping 1.patch
+  patch queue now empty
+  applying 1.patch
+  applying 2.patch
+  applying 3.patch
+  applying 4.patch
+  applying 5.patch
+  applying 6.patch
+  now at: 6.patch
+  5: imported patch 6.patch - johndeere
+  4: imported patch 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: imported patch 2.patch - jane
+  0: imported patch 1.patch - mary
+  $ rm -r sandbox
+
+======= hg headers
+
+  $ echo "plain=false" >> $HGRCPATH
+  $ mkdir sandbox
+  $ (cd sandbox ; runtest)
+  ==== init
+  ==== qnew -U
+  # HG changeset patch
+  # Parent 
+  # User test
+  0: [mq]: 1.patch - test
+  ==== qref
+  adding 1
+  # HG changeset patch
+  # Parent 
+  # User test
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - test
+  ==== qref -u
+  # HG changeset patch
+  # Parent 
+  # User mary
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - mary
+  ==== qnew
+  adding 2
+  # HG changeset patch
+  # Parent 
+  
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - test
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # User jane
+  # Parent 
+  
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -U -m
+  # HG changeset patch
+  # Parent 
+  # User test
+  Three
+  
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref
+  adding 3
+  # HG changeset patch
+  # Parent 
+  # User test
+  Three
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -m
+  # HG changeset patch
+  # Parent 
+  # User test
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # Parent 
+  # User mary
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - mary
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u -m
+  # HG changeset patch
+  # Parent 
+  # User maria
+  Three (again)
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -m
+  adding 4of
+  # HG changeset patch
+  # Parent 
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - test
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # User jane
+  # Parent 
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with HG header
+  popping 5.patch
+  now at: 4.patch
+  now at: 5.patch
+  # HG changeset patch
+  # User johndoe
+  4: imported patch 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 5
+  # HG changeset patch
+  # Parent 
+  # User johndoe
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  # HG changeset patch
+  # Parent 
+  # User test
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - test
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  # HG changeset patch
+  # Parent 
+  # User johndeere
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with plain header
+  popping 6.patch
+  now at: 5.patch
+  now at: 6.patch
+  From: test
+  
+  5: imported patch 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 6
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  From: johndeere
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - johndeere
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qpop -a / qpush -a
+  popping 6.patch
+  popping 5.patch
+  popping 4.patch
+  popping 3.patch
+  popping 2.patch
+  popping 1.patch
+  patch queue now empty
+  applying 1.patch
+  applying 2.patch
+  applying 3.patch
+  applying 4.patch
+  applying 5.patch
+  applying 6.patch
+  now at: 6.patch
+  5: imported patch 6.patch - johndeere
+  4: imported patch 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: imported patch 2.patch - jane
+  0: imported patch 1.patch - mary
+  $ rm -r sandbox
+  $ runtest
+  ==== init
+  ==== qnew -U
+  # HG changeset patch
+  # Parent 
+  # User test
+  0: [mq]: 1.patch - test
+  ==== qref
+  adding 1
+  # HG changeset patch
+  # Parent 
+  # User test
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - test
+  ==== qref -u
+  # HG changeset patch
+  # Parent 
+  # User mary
+  
+  diff -r ... 1
+  --- /dev/null
+  +++ b/1
+  @@ -0,0 +1,1 @@
+  +1
+  0: [mq]: 1.patch - mary
+  ==== qnew
+  adding 2
+  # HG changeset patch
+  # Parent 
+  
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - test
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # User jane
+  # Parent 
+  
+  diff -r ... 2
+  --- /dev/null
+  +++ b/2
+  @@ -0,0 +1,1 @@
+  +2
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -U -m
+  # HG changeset patch
+  # Parent 
+  # User test
+  Three
+  
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref
+  adding 3
+  # HG changeset patch
+  # Parent 
+  # User test
+  Three
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -m
+  # HG changeset patch
+  # Parent 
+  # User test
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - test
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # Parent 
+  # User mary
+  Drei
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Drei - mary
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u -m
+  # HG changeset patch
+  # Parent 
+  # User maria
+  Three (again)
+  
+  diff -r ... 3
+  --- /dev/null
+  +++ b/3
+  @@ -0,0 +1,1 @@
+  +3
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew -m
+  adding 4of
+  # HG changeset patch
+  # Parent 
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - test
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qref -u
+  # HG changeset patch
+  # User jane
+  # Parent 
+  Four
+  
+  diff -r ... 4of
+  --- /dev/null
+  +++ b/4of
+  @@ -0,0 +1,1 @@
+  +4 t
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with HG header
+  popping 5.patch
+  now at: 4.patch
+  now at: 5.patch
+  # HG changeset patch
+  # User johndoe
+  4: imported patch 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 5
+  # HG changeset patch
+  # Parent 
+  # User johndoe
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndoe
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  # HG changeset patch
+  # Parent 
+  # User test
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - test
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  # HG changeset patch
+  # Parent 
+  # User johndeere
+  
+  diff -r ... 5
+  --- /dev/null
+  +++ b/5
+  @@ -0,0 +1,1 @@
+  +5
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qnew with plain header
+  popping 6.patch
+  now at: 5.patch
+  now at: 6.patch
+  From: test
+  
+  5: imported patch 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref
+  adding 6
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -U
+  From: test
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - test
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== hg qref -u
+  From: johndeere
+  
+  diff -r ... 6
+  --- /dev/null
+  +++ b/6
+  @@ -0,0 +1,1 @@
+  +6
+  5: [mq]: 6.patch - johndeere
+  4: [mq]: 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: [mq]: 2.patch - jane
+  0: [mq]: 1.patch - mary
+  ==== qpop -a / qpush -a
+  popping 6.patch
+  popping 5.patch
+  popping 4.patch
+  popping 3.patch
+  popping 2.patch
+  popping 1.patch
+  patch queue now empty
+  applying 1.patch
+  applying 2.patch
+  applying 3.patch
+  applying 4.patch
+  applying 5.patch
+  applying 6.patch
+  now at: 6.patch
+  5: imported patch 6.patch - johndeere
+  4: imported patch 5.patch - johndeere
+  3: Four - jane
+  2: Three (again) - maria
+  1: imported patch 2.patch - jane
+  0: imported patch 1.patch - mary