tests/test-parentrevspec.t
author Martin Geisler <mg@lazybytes.net>
Sat, 23 Oct 2010 18:33:57 +0200
branchstable
changeset 12839 d85e30889f26
parent 12743 4c4aeaab2339
child 12925 6eab8f0df2ca
permissions -rw-r--r--
patchbomb: fix stray backslash in docstring While both '\ ' and '\\ ' parse the same in Python, the difference trips up hggettext so that it cannot find the docstring in the source file and thus cannot write the right line number to i18n/hg.pot. While the line number is not essential, it can be used to lookup the original message.


  $ commit()
  > {
  >     msg=$1
  >     p1=$2
  >     p2=$3
  > 
  >     if [ "$p1" ]; then
  >         hg up -qC $p1
  >     fi
  > 
  >     if [ "$p2" ]; then
  >         HGMERGE=true hg merge -q $p2
  >     fi
  > 
  >     echo >> foo
  > 
  >     hg commit -qAm "$msg"
  > }
  $ hg init repo
  $ cd repo
  $ echo '[extensions]' > .hg/hgrc
  $ echo 'parentrevspec =' >> .hg/hgrc
  $ commit '0: add foo'
  $ commit '1: change foo 1'
  $ commit '2: change foo 2a'
  $ commit '3: change foo 3a'
  $ commit '4: change foo 2b' 1
  $ commit '5: merge' 3 4
  $ commit '6: change foo again'
  $ hg log --template '{rev}:{node|short} {parents}\n'
  6:755d1e0d79e9 
  5:9ce2ce29723a 3:a3e00c7dbf11 4:bb4475edb621 
  4:bb4475edb621 1:5d953a1917d1 
  3:a3e00c7dbf11 
  2:befc7d89d081 
  1:5d953a1917d1 
  0:837088b6e1d9 
  $ echo
  
  $ lookup()
  > {
  >     for rev in "$@"; do
  >         printf "$rev: "
  >         hg id -nr $rev
  >     done
  >     true
  > }
  $ tipnode=`hg id -ir tip`

should work with tag/branch/node/rev

  $ for r in tip default $tipnode 6; do
  >     lookup "$r^"
  > done
  tip^: 5
  default^: 5
  755d1e0d79e9^: 5
  6^: 5
  $ echo
  

some random lookups

  $ lookup "6^^" "6^^^" "6^^^^" "6^^^^^" "6^^^^^^" "6^1" "6^2" "6^^2" "6^1^2" "6^^3"
  6^^: 3
  6^^^: 2
  6^^^^: 1
  6^^^^^: 0
  6^^^^^^: -1
  6^1: 5
  6^2: abort: unknown revision '6^2'!
  6^^2: 4
  6^1^2: 4
  6^^3: abort: unknown revision '6^^3'!
  $ lookup "6~" "6~1" "6~2" "6~3" "6~4" "6~5" "6~42" "6~1^2" "6~1^2~2"
  6~: abort: unknown revision '6~'!
  6~1: 5
  6~2: 3
  6~3: 2
  6~4: 1
  6~5: 0
  6~42: -1
  6~1^2: 4
  6~1^2~2: 0
  $ echo
  

with a tag "6^" pointing to rev 1

  $ hg tag -l -r 1 "6^"
  $ lookup "6^" "6^1" "6~1" "6^^"
  6^: 1
  6^1: 5
  6~1: 5
  6^^: 3
  $ echo
  

with a tag "foo^bar" pointing to rev 2

  $ hg tag -l -r 2 "foo^bar"
  $ lookup "foo^bar" "foo^bar^"
  foo^bar: 2
  foo^bar^: abort: unknown revision 'foo^bar^'!