tests/test-touch.t
author Nathan Goldbaum <ngoldbau@ucsc.edu>
Tue, 28 Oct 2014 18:06:28 -0700
changeset 1143 160fd06312fc
parent 743 af74a5cdf96b
child 1151 802a87359017
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
  > [ui]
  > logtemplate={rev}:{node|short} {desc}\n
  > [defaults]
  > amend=-d "0 0"
  > [extensions]
  > hgext.rebase=
  > EOF
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH

  $ hg init repo
  $ cd repo
  $ echo A > a
  $ hg add a
  $ hg commit -m a

Basic usage

  $ hg log -G
  @  0:e93df3427f45 a
  
  $ hg touch .
  $ hg log -G
  @  1:[0-9a-f]{12} a (re)
  


Revive usage

  $ echo A > b
  $ hg add b
  $ hg commit -m ab --amend
  $ hg up --hidden 1
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  working directory parent is obsolete!
  $ hg log -G
  o  3:[0-9a-f]{12} ab (re)
  
  @  1:[0-9a-f]{12} a (re)
  
  $ hg touch .
  2 new divergent changesets
  $ hg log -G
  @  4:[0-9a-f]{12} a (re)
  
  o  3:[0-9a-f]{12} ab (re)
  
  $ hg prune 3
  1 changesets pruned

Duplicate

  $ hg touch --duplicate .
  $ hg log -G
  @  5:[0-9a-f]{12} a (re)
  
  o  4:[0-9a-f]{12} a (re)
  

Multiple touch

  $ echo C > c
  $ hg add c
  $ hg commit -m c
  $ echo D > d
  $ hg add d
  $ hg commit -m d
  $ hg log -G
  @  7:[0-9a-f]{12} d (re)
  |
  o  6:[0-9a-f]{12} c (re)
  |
  o  5:[0-9a-f]{12} a (re)
  
  o  4:[0-9a-f]{12} a (re)
  
  $ hg touch 6:7
  $ hg log -G
  @  9:[0-9a-f]{12} d (re)
  |
  o  8:[0-9a-f]{12} c (re)
  |
  o  5:[0-9a-f]{12} a (re)
  
  o  4:[0-9a-f]{12} a (re)