$ cat >> $HGRCPATH <<EOF
> [defaults]
> amend=-d "0 0"
> [extensions]
> hgext.rebase=
> hgext.graphlog=
> EOF
$ 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
$ hg ci -Am adda
adding a
Test amend captures branches
$ hg branch foo
marked working directory as branch foo
(branches are permanent and global, did you want a bookmark?)
$ hg amend
$ hg debugsuccessors
07f494440405 a34b93d251e4
bd19cbe78fbf a34b93d251e4
$ hg branch
foo
$ hg branches
foo 2:a34b93d251e4
default 0:07f494440405 (inactive)
$ 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 debugsuccessors
07f494440405 a34b93d251e4
bd19cbe78fbf a34b93d251e4
$ 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]
$ hg debugsuccessors
07f494440405 a34b93d251e4
7384bbcba36f 000000000000
bd19cbe78fbf a34b93d251e4
$ 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