perf: clear vfs audit_cache before each run
When generating a stream clone, we spend a large amount of time auditing path.
Before this changes, the first run was warming the vfs cache for the other
runs, leading to a large runtime difference and a "faulty" reported timing for
the operation.
We now clear this important cache between run to get a more realistic timing.
Below are some example of median time change when clearing these cases. The
maximum time for a run did not changed significantly.
### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog
# benchmark.name = hg.perf.exchange.stream.generate
# bin-env-vars.hg.flavor = default
# bin-env-vars.hg.py-re2-module = default
# benchmark.variants.version = latest
no-clearing: 17.289905
cache-clearing: 21.587965 (+24.86%, +4.30)
## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog
no-clearing: 32.670748
cache-clearing: 40.467095 (+23.86%, +7.80)
## data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog
no-clearing: 37.838858
cache-clearing: 46.072749 (+21.76%, +8.23)
## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog
no-clearing: 32.969395
cache-clearing: 39.646209 (+20.25%, +6.68)
In addition, this significantly reduce the timing difference between the
performance command, from the perf extensions and a `real `hg bundle` call
producing a stream bundle. Some significant differences remain especially on
the "mozilla-try" repositories, but they are now smaller.
Note that some of that difference will actually not be
attributable to the stream generation (like maybe phases or branch map
computation).
Below are some benchmarks done on a currently draft changeset fixing some
unrelated slowness in `hg bundle` (34a78972af409d1ff37c29e60f6ca811ad1a457d)
### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog
# bin-env-vars.hg.flavor = default
# bin-env-vars.hg.py-re2-module = default
hg.perf.exchange.stream.generate: 21.587965
hg.command.bundle: 24.301799 (+12.57%, +2.71)
## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog
hg.perf.exchange.stream.generate: 40.467095
hg.command.bundle: 44.831317 (+10.78%, +4.36)
## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog
hg.perf.exchange.stream.generate: 39.646209
hg.command.bundle: 45.395258 (+14.50%, +5.75)
## data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog
hg.perf.exchange.stream.generate: 46.072749
hg.command.bundle: 55.882608 (+21.29%, +9.81)
## data-env-vars.name = mozilla-try-2023-03-22-zlib-general-delta
hg.perf.exchange.stream.generate: 334.716708
hg.command.bundle: 377.856767 (+12.89%, +43.14)
## data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog
hg.perf.exchange.stream.generate: 302.972301
hg.command.bundle: 326.098755 (+7.63%, +23.13)
$ 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}: {node|short} {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}: {node|short} {desc} - {author}\n"
> }
======= plain headers
$ echo "[mq]" >> $HGRCPATH
$ echo "plain=true" >> $HGRCPATH
$ mkdir sandbox
$ (cd sandbox ; runtest)
==== init
==== qnew -U
From: test
0: a054644889e5 [mq]: 1.patch - test
==== qref
adding 1
From: test
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 2905f1e46ee0 [mq]: 1.patch - test
==== qref -u
From: mary
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew
adding 2
diff -r ... 2
--- /dev/null
+++ b/2
@@ -0,0 +1,1 @@
+2
1: 527f98a12a7a [mq]: 2.patch - test
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u
From: jane
diff -r ... 2
--- /dev/null
+++ b/2
@@ -0,0 +1,1 @@
+2
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew -U -m
From: test
Three
2: 0ffa16a9088e Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref
adding 3
From: test
Three
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: 83f1290c6086 Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -m
From: test
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: b0d856328d4d Drei - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u
From: mary
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: bb9d4b28e6a6 Drei - mary
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u -m
From: maria
Three (again)
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew -m
adding 4of
Four
diff -r ... 4of
--- /dev/null
+++ b/4of
@@ -0,0 +1,1 @@
+4 t
3: b9f922d0da40 Four - test
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u
From: jane
Four
diff -r ... 4of
--- /dev/null
+++ b/4of
@@ -0,0 +1,1 @@
+4 t
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 72bc4a0467ef imported patch 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 5
# HG changeset patch
# User johndoe
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: ff5c06112e5a [mq]: 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
# HG changeset patch
# User test
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: c947416c22b1 [mq]: 5.patch - test
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
# HG changeset patch
# User johndeere
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew with plain header
popping 6.patch
now at: 5.patch
now at: 6.patch
From: test
5: 7825a18ec839 imported patch 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 6
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
From: johndeere
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 32641ee07196 [mq]: 6.patch - johndeere
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 1fb083c80457 imported patch 6.patch - johndeere
4: 7e96e969691d imported patch 5.patch - johndeere
3: c7147533d3cd Four - jane
2: b383d04401ea Three (again) - maria
1: fac2da4efc3c imported patch 2.patch - jane
0: b6e237e8771b 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
# User test
# Parent
0: a054644889e5 [mq]: 1.patch - test
==== qref
adding 1
# HG changeset patch
# User test
# Parent
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 2905f1e46ee0 [mq]: 1.patch - test
==== qref -u
# HG changeset patch
# User mary
# Parent
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew
adding 2
# HG changeset patch
# Parent
diff -r ... 2
--- /dev/null
+++ b/2
@@ -0,0 +1,1 @@
+2
1: 527f98a12a7a [mq]: 2.patch - test
0: 3682f830e656 [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: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew -U -m
# HG changeset patch
# User test
# Parent
Three
2: 0ffa16a9088e Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref
adding 3
# HG changeset patch
# User test
# Parent
Three
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: 83f1290c6086 Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -m
# HG changeset patch
# User test
# Parent
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: b0d856328d4d Drei - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u
# HG changeset patch
# User mary
# Parent
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: bb9d4b28e6a6 Drei - mary
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u -m
# HG changeset patch
# User maria
# Parent
Three (again)
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: b9f922d0da40 Four - test
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 72bc4a0467ef imported patch 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 5
# HG changeset patch
# User johndoe
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: ff5c06112e5a [mq]: 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
# HG changeset patch
# User test
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: c947416c22b1 [mq]: 5.patch - test
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
# HG changeset patch
# User johndeere
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew with plain header
popping 6.patch
now at: 5.patch
now at: 6.patch
From: test
5: 7825a18ec839 imported patch 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 6
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
From: johndeere
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 32641ee07196 [mq]: 6.patch - johndeere
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 1fb083c80457 imported patch 6.patch - johndeere
4: 7e96e969691d imported patch 5.patch - johndeere
3: c7147533d3cd Four - jane
2: b383d04401ea Three (again) - maria
1: fac2da4efc3c imported patch 2.patch - jane
0: b6e237e8771b imported patch 1.patch - mary
$ rm -r sandbox
$ runtest
==== init
==== qnew -U
# HG changeset patch
# User test
# Parent
0: a054644889e5 [mq]: 1.patch - test
==== qref
adding 1
# HG changeset patch
# User test
# Parent
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 2905f1e46ee0 [mq]: 1.patch - test
==== qref -u
# HG changeset patch
# User mary
# Parent
diff -r ... 1
--- /dev/null
+++ b/1
@@ -0,0 +1,1 @@
+1
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew
adding 2
# HG changeset patch
# Parent
diff -r ... 2
--- /dev/null
+++ b/2
@@ -0,0 +1,1 @@
+2
1: 527f98a12a7a [mq]: 2.patch - test
0: 3682f830e656 [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: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew -U -m
# HG changeset patch
# User test
# Parent
Three
2: 0ffa16a9088e Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref
adding 3
# HG changeset patch
# User test
# Parent
Three
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: 83f1290c6086 Three - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -m
# HG changeset patch
# User test
# Parent
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: b0d856328d4d Drei - test
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u
# HG changeset patch
# User mary
# Parent
Drei
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: bb9d4b28e6a6 Drei - mary
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qref -u -m
# HG changeset patch
# User maria
# Parent
Three (again)
diff -r ... 3
--- /dev/null
+++ b/3
@@ -0,0 +1,1 @@
+3
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: b9f922d0da40 Four - test
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 72bc4a0467ef imported patch 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 5
# HG changeset patch
# User johndoe
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: ff5c06112e5a [mq]: 5.patch - johndoe
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
# HG changeset patch
# User test
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: c947416c22b1 [mq]: 5.patch - test
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
# HG changeset patch
# User johndeere
# Parent
diff -r ... 5
--- /dev/null
+++ b/5
@@ -0,0 +1,1 @@
+5
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== qnew with plain header
popping 6.patch
now at: 5.patch
now at: 6.patch
From: test
5: 7825a18ec839 imported patch 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref
adding 6
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -U
From: test
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 09d19592680d [mq]: 6.patch - test
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [mq]: 1.patch - mary
==== hg qref -u
From: johndeere
diff -r ... 6
--- /dev/null
+++ b/6
@@ -0,0 +1,1 @@
+6
5: 32641ee07196 [mq]: 6.patch - johndeere
4: 1d898e201a22 [mq]: 5.patch - johndeere
3: 0dfb3111e7ee Four - jane
2: a6686ee84fc3 Three (again) - maria
1: a425cde5f493 [mq]: 2.patch - jane
0: 3682f830e656 [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: 1fb083c80457 imported patch 6.patch - johndeere
4: 7e96e969691d imported patch 5.patch - johndeere
3: c7147533d3cd Four - jane
2: b383d04401ea Three (again) - maria
1: fac2da4efc3c imported patch 2.patch - jane
0: b6e237e8771b imported patch 1.patch - mary
$ cd ..