tests/test-amend.t
author Greg Ward <greg@gerg.ca>
Thu, 24 Jan 2013 18:05:59 -0500
changeset 655 dd5765ae91c3
parent 652 5a929510de9d
child 695 7daf42959b72
permissions -rw-r--r--
doc: fix grammar, spelling, punctuation I restrained myself to making only changes that turn bad English into good English. There are still opportunities to improve, but other changes require some discussion and review. This change should be uncontroversial.

  $ cat >> $HGRCPATH <<EOF
  > [defaults]
  > amend=-d "0 0"
  > [extensions]
  > hgext.rebase=
  > hgext.graphlog=
  > EOF
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH

  $ glog() {
  >   hg glog --template '{rev}@{branch}({phase}) {desc|firstline}\n' "$@"
  > }

  $ hg init repo --traceback
  $ 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 debugobsolete
  bd19cbe78fbfbd87eb33420c63986fe5f3154f2c a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  07f4944404050f47db2e5c5071e0e84e7a27bba9 a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  $ hg branch
  foo
  $ hg branches
  foo                            2:a34b93d251e4
  $ 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 status
  M a
  $ hg pstatus
  $ hg diff
  diff -r 2f97fe38810f a
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
  +++ b/a	* +0000 (glob)
  @@ -1,2 +1,1 @@
   a
  -a
  $ hg pdiff
  $ hg ci -m reseta
  $ hg amend --change 2
  abort: no updates found
  [255]
  $ hg debugobsolete
  bd19cbe78fbfbd87eb33420c63986fe5f3154f2c a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  07f4944404050f47db2e5c5071e0e84e7a27bba9 a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  $ 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
  $ 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 debugobsolete
  bd19cbe78fbfbd87eb33420c63986fe5f3154f2c a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  07f4944404050f47db2e5c5071e0e84e7a27bba9 a34b93d251e49c93d5685ebacad785c73a7e8605 0 {'date': '* *', 'user': 'test'} (glob)
  7384bbcba36fde1a789cd00f9cd6f9b919ab5910 0 {'date': '* *', 'user': 'test'} (glob)
  $ glog
  @  6@foo(draft) amends a34b93d251e49c93d5685ebacad785c73a7e8605
  |
  o  5@default(draft) resetbranch
  |
  o  4@foo(draft) reseta
  |
  o  3@foo(draft) changea
  |
  o  2@foo(draft) adda