tests/test-obsolete-push.t
author Nathan Goldbaum <ngoldbau@ucsc.edu>
Tue, 28 Oct 2014 18:06:28 -0700
changeset 1143 160fd06312fc
parent 688 f2c3fd21fa63
child 1185 cc3e68120185
permissions -rw-r--r--
uncommit: abort when rev specifies the current changeset The uncommit command now fails when the rev argument indicates the current changeset. Previously this aborted in the changeset obsolescence machinery when the current commit tries to obsolete itself. Using the rev argument like this indicates a misunderstanding, so printing an uncommit-specific error should make it easier to understand what went wrong.

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

  $ template='{rev}:{node|short}@{branch}({obsolete}/{phase}) {desc|firstline}\n'
  $ glog() {
  >   hg glog --template "$template" "$@"
  > }

Test outgoing, common A is suspended, B unstable and C secret, remote
has A and B, neither A or C should be in outgoing.

  $ hg init source
  $ cd source
  $ echo a > a
  $ hg ci -qAm A a
  $ echo b > b
  $ hg ci -qAm B b
  $ hg up 0
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ echo c > c
  $ hg ci -qAm C c
  $ hg phase --secret --force .
  $ hg kill 0 1
  2 changesets pruned
  1 new unstable changesets
  $ glog --hidden
  @  2:244232c2222a@default(unstable/secret) C
  |
  | x  1:6c81ed0049f8@default(extinct/draft) B
  |/
  x  0:1994f17a630e@default(suspended/draft) A
  
  $ hg init ../clone
  $ cat >  ../clone/.hg/hgrc <<EOF
  > [phases]
  > publish = false
  > EOF
  $ hg outgoing ../clone --template "$template"
  comparing with ../clone
  searching for changes
  0:1994f17a630e@default(suspended/draft) A