view tests/test-parentrevspec @ 5191:b111e9a907b1

Add parentrevspec extension
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 17 Aug 2007 17:33:27 -0300
parents
children 94e77a174f55
line wrap: on
line source

#!/bin/sh

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 -d '0 0' -qAm "$msg" foo
}

hg init repo
cd repo

echo '[extensions]' > .hg/hgrc
echo 'hgext.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'
echo

lookup()
{
    for rev in "$@"; do
	printf "$rev: "
	hg id -nr $rev
    done
    true
}

tipnode=`hg id -ir tip`

echo 'should work with tag/branch/node/rev'
for r in tip default $tipnode 6; do
    lookup $r^
done
echo

echo 'some random lookups'
lookup 6^^ 6^^^ 6^^^^ 6^^^^^ 6^^^^^^ 6^1 6^2 6^^2 6^1^2 6^^3
lookup 6~ 6~1 6~2 6~3 6~4 6~5 6~42 6~1^2 6~1^2~2
echo

echo 'with a tag "6^" pointing to rev 1'
hg tag -l -r 1 6^
lookup 6^ 6^1 6~1 6^^
echo

echo 'with a tag "foo^bar" pointing to rev 2'
hg tag -l -r 2 foo^bar
lookup foo^bar foo^bar^