--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qrecord Wed Jan 23 21:49:44 2008 +0300
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+echo "[ui]" >> $HGRCPATH
+echo "interactive=true" >> $HGRCPATH
+echo "[extensions]" >> $HGRCPATH
+echo "record=" >> $HGRCPATH
+
+echo "% help (no mq, so no qrecord)"
+
+hg help qrecord
+
+echo "mq=" >> $HGRCPATH
+
+echo "% help (mq present)"
+
+hg help qrecord
+
+hg init a
+cd a
+
+echo % base commit
+
+cat > 1.txt <<EOF
+1
+2
+3
+4
+5
+EOF
+cat > 2.txt <<EOF
+a
+b
+c
+d
+e
+f
+EOF
+mkdir dir
+cat > dir/a.txt <<EOF
+hello world
+
+someone
+up
+there
+loves
+me
+EOF
+
+hg add 1.txt 2.txt dir/a.txt
+hg commit -d '0 0' -m 'initial checkin'
+
+echo % changing files
+
+sed -e 's/2/2 2/;s/4/4 4/' 1.txt > 1.txt.new
+sed -e 's/b/b b/' 2.txt > 2.txt.new
+sed -e 's/hello world/hello world!/' dir/a.txt > dir/a.txt.new
+
+mv -f 1.txt.new 1.txt
+mv -f 2.txt.new 2.txt
+mv -f dir/a.txt.new dir/a.txt
+
+echo % whole diff
+
+hg diff --nodates
+
+echo % qrecord a.patch
+
+hg qrecord -d '0 0' -m aaa a.patch <<EOF
+y
+y
+n
+y
+y
+n
+EOF
+
+echo
+echo % "after qrecord a.patch 'tip'"
+hg tip -p
+echo
+echo % "after qrecord a.patch 'diff'"
+hg diff --nodates
+
+echo % qrecord b.patch
+hg qrecord -d '0 0' -m bbb b.patch <<EOF
+y
+y
+y
+y
+EOF
+
+echo
+echo % "after qrecord b.patch 'tip'"
+hg tip -p
+echo
+echo % "after qrecord b.patch 'diff'"
+hg diff --nodates
+
+echo
+echo % --- end ---
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qrecord.out Wed Jan 23 21:49:44 2008 +0300
@@ -0,0 +1,207 @@
+% help (no mq, so no qrecord)
+hg: unknown command 'qrecord'
+Mercurial Distributed SCM
+
+basic commands:
+
+ add add the specified files on the next commit
+ annotate show changeset information per file line
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ init create a new repository in the given directory
+ log show revision history of entire repository or files
+ merge merge working directory with another revision
+ parents show the parents of the working dir or revision
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ remove remove the specified files on the next commit
+ serve export the repository via HTTP
+ status show changed files in the working directory
+ update update working directory
+
+use "hg help" for the full list of commands or "hg -v" for details
+% help (mq present)
+hg qrecord [OPTION]... PATCH [FILE]...
+
+interactively record a new patch
+
+ see 'hg help qnew' & 'hg help record' for more information and usage
+
+options:
+
+ -e --edit edit commit message
+ -g --git use git extended diff format
+ -I --include include names matching the given patterns
+ -X --exclude exclude names matching the given patterns
+ -m --message use <text> as commit message
+ -l --logfile read commit message from <file>
+ -U --currentuser add "From: <current user>" to patch
+ -u --user add "From: <given user>" to patch
+ -D --currentdate add "Date: <current date>" to patch
+ -d --date add "Date: <given date>" to patch
+
+use "hg -v help qrecord" to show global options
+% base commit
+% changing files
+% whole diff
+diff -r 1057167b20ef 1.txt
+--- a/1.txt
++++ b/1.txt
+@@ -1,5 +1,5 @@
+ 1
+-2
++2 2
+ 3
+-4
++4 4
+ 5
+diff -r 1057167b20ef 2.txt
+--- a/2.txt
++++ b/2.txt
+@@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+diff -r 1057167b20ef dir/a.txt
+--- a/dir/a.txt
++++ b/dir/a.txt
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+
+ someone
+ up
+% qrecord a.patch
+diff --git a/1.txt b/1.txt
+2 hunks, 4 lines changed
+examine changes to '1.txt'? [Ynsfdaq?] @@ -1,3 +1,3 @@
+ 1
+-2
++2 2
+ 3
+record this change to '1.txt'? [Ynsfdaq?] @@ -3,3 +3,3 @@
+ 3
+-4
++4 4
+ 5
+record this change to '1.txt'? [Ynsfdaq?] diff --git a/2.txt b/2.txt
+1 hunks, 2 lines changed
+examine changes to '2.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+record this change to '2.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt
+1 hunks, 2 lines changed
+examine changes to 'dir/a.txt'? [Ynsfdaq?]
+% after qrecord a.patch 'tip'
+changeset: 1:5d1ca63427ee
+tag: qtip
+tag: tip
+tag: a.patch
+tag: qbase
+user: test
+date: Thu Jan 01 00:00:00 1970 +0000
+summary: aaa
+
+diff -r 1057167b20ef -r 5d1ca63427ee 1.txt
+--- a/1.txt Thu Jan 01 00:00:00 1970 +0000
++++ b/1.txt Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ 1
+-2
++2 2
+ 3
+ 4
+ 5
+diff -r 1057167b20ef -r 5d1ca63427ee 2.txt
+--- a/2.txt Thu Jan 01 00:00:00 1970 +0000
++++ b/2.txt Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ a
+-b
++b b
+ c
+ d
+ e
+
+
+% after qrecord a.patch 'diff'
+diff -r 5d1ca63427ee 1.txt
+--- a/1.txt
++++ b/1.txt
+@@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+diff -r 5d1ca63427ee dir/a.txt
+--- a/dir/a.txt
++++ b/dir/a.txt
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+
+ someone
+ up
+% qrecord b.patch
+diff --git a/1.txt b/1.txt
+1 hunks, 2 lines changed
+examine changes to '1.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+record this change to '1.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt
+1 hunks, 2 lines changed
+examine changes to 'dir/a.txt'? [Ynsfdaq?] @@ -1,4 +1,4 @@
+-hello world
++hello world!
+
+ someone
+ up
+record this change to 'dir/a.txt'? [Ynsfdaq?]
+% after qrecord b.patch 'tip'
+changeset: 2:b056198bf878
+tag: qtip
+tag: tip
+tag: b.patch
+user: test
+date: Thu Jan 01 00:00:00 1970 +0000
+summary: bbb
+
+diff -r 5d1ca63427ee -r b056198bf878 1.txt
+--- a/1.txt Thu Jan 01 00:00:00 1970 +0000
++++ b/1.txt Thu Jan 01 00:00:00 1970 +0000
+@@ -1,5 +1,5 @@
+ 1
+ 2 2
+ 3
+-4
++4 4
+ 5
+diff -r 5d1ca63427ee -r b056198bf878 dir/a.txt
+--- a/dir/a.txt Thu Jan 01 00:00:00 1970 +0000
++++ b/dir/a.txt Thu Jan 01 00:00:00 1970 +0000
+@@ -1,4 +1,4 @@
+-hello world
++hello world!
+
+ someone
+ up
+
+
+% after qrecord b.patch 'diff'
+
+% --- end ---