tests/test-amend.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Sun, 05 Aug 2012 12:02:45 +0200
changeset 420 b6163a85ddac
parent 385 cdcdedc532b7
child 441 d702f0d26c6a
permissions -rw-r--r--
merge

  $ 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(draft) amends a34b93d251e49c93d5685ebacad785c73a7e8605
  |
  o  5@default(draft) resetbranch
  |
  o  4@foo(draft) reseta
  |
  o  3@foo(draft) changea
  |
  o  2@foo(draft) adda