view tests/test-parentrevspec @ 12403:ba8850911703

test-serve: fix test for binding to low named port on solaris Solaris do not know the service called http, so we use echo instead. Trying to define KILLQUIETLY when running the hgserve function didn't set the value within the function. Now we set the variable before calling the function.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 25 Sep 2010 02:35:32 +0200
parents bb5ea66789e3
children
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 -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'
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^"