tests/test-qrecord.t
changeset 12075 f585c9bb85c1
parent 8167 6c82beaaa11a
child 12316 4134686b83e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qrecord.t	Fri Aug 27 16:25:47 2010 +0200
@@ -0,0 +1,305 @@
+Create configuration
+
+  $ echo "[ui]" >> $HGRCPATH
+  $ echo "interactive=true" >> $HGRCPATH
+  $ echo "[extensions]"     >> $HGRCPATH
+  $ echo "record="          >> $HGRCPATH
+
+help (no mq, so no qrecord)
+
+  $ hg help qrecord
+  hg: unknown command 'qrecord'
+  Mercurial Distributed SCM
+  
+  basic commands:
+  
+   add        add the specified files on the next commit
+   annotate   show changeset information by line for each file
+   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
+   forget     forget the specified files on the next commit
+   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
+   pull       pull changes from the specified source
+   push       push changes to the specified destination
+   remove     remove the specified files on the next commit
+   serve      start stand-alone webserver
+   status     show changed files in the working directory
+   summary    summarize working directory state
+   update     update working directory (or switch revisions)
+  
+  use "hg help" for the full list of commands or "hg -v" for details
+
+help (mq present)
+
+  $ echo "mq="              >> $HGRCPATH
+  $ hg help qrecord
+  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
+   -U --currentuser          add "From: <current user>" to patch
+   -u --user USER            add "From: <USER>" to patch
+   -D --currentdate          add "Date: <current date>" to patch
+   -d --date DATE            add "Date: <DATE>" to patch
+   -I --include PATTERN [+]  include names matching the given patterns
+   -X --exclude PATTERN [+]  exclude names matching the given patterns
+   -m --message TEXT         use text as commit message
+   -l --logfile FILE         read commit message from file
+  
+  [+] marked option can be specified multiple times
+  
+  use "hg -v help qrecord" to show global options
+
+  $ hg init a
+  $ cd a
+
+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 -m 'initial checkin'
+
+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
+
+Whole diff
+
+  $ hg diff --nodates
+  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
+
+  $ hg qrecord -d '0 0' -m aaa a.patch <<EOF
+  > y
+  > y
+  > n
+  > y
+  > y
+  > n
+  > EOF
+  diff --git a/1.txt b/1.txt
+  2 hunks, 2 lines changed
+  examine changes to '1.txt'? [Ynsfdaq?] 
+  @@ -1,3 +1,3 @@
+   1
+  -2
+  +2 2
+   3
+  record change 1/6 to '1.txt'? [Ynsfdaq?] 
+  @@ -3,3 +3,3 @@
+   3
+  -4
+  +4 4
+   5
+  record change 2/6 to '1.txt'? [Ynsfdaq?] 
+  diff --git a/2.txt b/2.txt
+  1 hunks, 1 lines changed
+  examine changes to '2.txt'? [Ynsfdaq?] 
+  @@ -1,5 +1,5 @@
+   a
+  -b
+  +b b
+   c
+   d
+   e
+  record change 4/6 to '2.txt'? [Ynsfdaq?] 
+  diff --git a/dir/a.txt b/dir/a.txt
+  1 hunks, 1 lines changed
+  examine changes to 'dir/a.txt'? [Ynsfdaq?] 
+
+After qrecord a.patch 'tip'"
+
+  $ hg tip -p
+  changeset:   1:5d1ca63427ee
+  tag:         a.patch
+  tag:         qbase
+  tag:         qtip
+  tag:         tip
+  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'"
+
+  $ hg diff --nodates
+  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
+
+  $ hg qrecord -d '0 0' -m bbb b.patch <<EOF
+  > y
+  > y
+  > y
+  > y
+  > EOF
+  diff --git a/1.txt b/1.txt
+  1 hunks, 1 lines changed
+  examine changes to '1.txt'? [Ynsfdaq?] 
+  @@ -1,5 +1,5 @@
+   1
+   2 2
+   3
+  -4
+  +4 4
+   5
+  record change 1/3 to '1.txt'? [Ynsfdaq?] 
+  diff --git a/dir/a.txt b/dir/a.txt
+  1 hunks, 1 lines changed
+  examine changes to 'dir/a.txt'? [Ynsfdaq?] 
+  @@ -1,4 +1,4 @@
+  -hello world
+  +hello world!
+   
+   someone
+   up
+  record change 3/3 to 'dir/a.txt'? [Ynsfdaq?] 
+
+After qrecord b.patch 'tip'
+
+  $ hg tip -p
+  changeset:   2:b056198bf878
+  tag:         b.patch
+  tag:         qtip
+  tag:         tip
+  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'
+
+  $ hg diff --nodates
+
+End
\ No newline at end of file