view tests/test-bheads @ 6543:a6e2e60b34d0

convert: handle past or foreign partial svn copies Subversion allows revisions to be composed of subparts coming from revisions before the parent or from other part of the repository. There is no simple representation for these now, keep the changes but do not track their origins.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 14 Apr 2008 22:31:34 +0200
parents 25c372e8f261
children 5b7da468531b
line wrap: on
line source

#!/bin/sh

heads()
{
    hg heads --template '#rev#: #desc|firstline|strip#\n' "$@"
}

hg init a
cd a
echo 'root' >root
hg add root
hg commit -m "Adding root node"
heads
echo '-------'
heads .

echo '======='
echo 'a' >a
hg add a
hg branch a
hg commit -m "Adding a branch"
heads
echo '-------'
heads .

echo '======='
hg update -C 0
echo 'b' >b
hg add b
hg branch b
hg commit -m "Adding b branch"
heads
echo '-------'
heads .

echo '======='
echo 'bh1' >bh1
hg add bh1
hg commit -m "Adding b branch head 1"
heads
echo '-------'
heads .

echo '======='
hg update -C 2
echo 'bh2' >bh2
hg add bh2
hg commit -m "Adding b branch head 2"
heads
echo '-------'
heads .

echo '======='
hg update -C 2
echo 'bh3' >bh3
hg add bh3
hg commit -m "Adding b branch head 3"
heads
echo '-------'
heads .

echo '======='
hg merge 4
hg commit -m "Merging b branch head 2 and b branch head 3"
heads
echo '-------'
heads .

echo '======='
echo 'c' >c
hg add c
hg branch c
hg commit -m "Adding c branch"
heads
echo '-------'
heads .

echo '======='
heads -r 3 .
echo $?
echo '-------'
heads -r 2 .
echo $?
echo '-------'
hg update -C 4
echo $?
echo '-------'
heads -r 3 .
echo $?
echo '-------'
heads -r 2 .
echo $?
echo '-------'
heads -r 7 .
echo $?

echo '======='
for i in 0 1 2 3 4 5 6 7; do
    hg update -C "$i"
    heads
    echo '-------'
    heads .
    echo '-------'
done

echo '======='
for i in a b c z; do
    heads "$i"
    echo '-------'
done

echo '======='
heads 0 1 2 3 4 5 6 7