--- a/tests/test-amend.t Tue Jun 12 11:53:02 2012 +0200
+++ b/tests/test-amend.t Tue Jun 12 13:28:39 2012 +0200
@@ -8,6 +8,10 @@
$ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
+ $ glog() {
+ > hg glog --template '{rev}@{branch}({phase}) {desc|firstline}\n' "$@"
+ > }
+
$ hg init repo
$ cd repo
$ echo a > a
@@ -25,7 +29,67 @@
$ hg branches
foo 2:a34b93d251e4
default 0:07f494440405 (inactive)
- $ hg glog --template '{rev}@{branch} {desc|firstline}\n'
- @ 2@foo adda
+ $ glog
+ @ 2@foo(draft) adda
+
+Test no-op
+
+ $ hg amend
+ abort: no updates found
+ [255]
+ $ glog
+ @ 2@foo(draft) adda
+
+
+Test forcing the message to the same value, no intermediate revision.
+
+ $ hg amend -m 'adda'
+ abort: no updates found
+ [255]
+ $ glog
+ @ 2@foo(draft) adda
+Test collapsing into an existing revision, no intermediate revision.
+
+ $ echo a >> a
+ $ hg ci -m changea
+ $ echo a > a
+ $ hg ci -m reseta
+ $ hg amend --change 2
+ abort: no updates found
+ [255]
+ $ hg phase 2
+ 2: draft
+ $ glog
+ @ 4@foo(draft) reseta
+ |
+ o 3@foo(draft) changea
+ |
+ o 2@foo(draft) adda
+
+
+Test collapsing into an existing rev, with an intermediate revision.
+
+ $ hg branch --force default
+ marked working directory as branch default
+ (branches are permanent and global, did you want a bookmark?)
+ $ hg ci -m resetbranch
+ created new head
+ $ hg branch --force foo
+ marked working directory as branch foo
+ (branches are permanent and global, did you want a bookmark?)
+ $ hg amend --change 2
+ abort: no updates found
+ [255]
+ $ glog
+ @ 6@foo(secret) amends a34b93d251e49c93d5685ebacad785c73a7e8605
+ |
+ o 5@default(draft) resetbranch
+ |
+ o 4@foo(draft) reseta
+ |
+ o 3@foo(draft) changea
+ |
+ o 2@foo(draft) adda
+