view tests/test-parentrevspec @ 9158:d6eecafaf12f

doc: use reStructuredText for man and HTML pages The Makefile now requires the rst2html and rst2man programs. Both can be found in Debian testing or downloaded from the Docutils homepage: http://docutils.sf.net/ http://docutils.sf.net/sandbox/manpage-writer/ The new HTML and man pages no longer contain huge amounts of un-wrapping literal blocks, thanks to how snippets of reStructuredText can easily be included inside other reStructuredText documents. The HTML pages now have anchors for all sections, including the help topics in hgrc.1 which were missing from the old HTML pages.
author Martin Geisler <mg@lazybytes.net>
date Thu, 16 Jul 2009 23:25:26 +0200
parents 5b7da468531b
children bb5ea66789e3
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 '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^"