tests/test-url-rev
author Jeremy Whitlock <jcscoobyrs@gmail.com>
Thu, 02 Apr 2009 18:18:43 -0600
changeset 7958 73fa2be69ea9
parent 5224 20817af258d8
child 8167 6c82beaaa11a
permissions -rwxr-xr-x
Fix how setup.py identifies the Mercurial version. There is a problem with setup.py where it will not identify the Mercurial version properly when not being ran in within a repository even if mercurial/__version__.py exists. To fix, use mercurial.__version__.version when available before defaulting to "unknown". (Using mercurial.util.version() is not an option due to a dependency issue where osutil can be referenced before it is built.)

#!/bin/sh
# test basic functionality of url#rev syntax

hg init repo
cd repo
echo a > a
hg ci -qAm 'add a' -d '0 0'
hg branch foo
echo >> a
hg ci -m 'change a' -d '0 0'
cd ..

echo '% clone repo#foo'
hg clone 'repo#foo' clone
echo '% heads'
hg --cwd clone heads
echo '% parents'
hg --cwd clone parents
sed -e 's/default.*#/default = #/' clone/.hg/hgrc
echo

echo '% changing original repo'
cd repo
echo >> a
hg ci -m 'new head of branch foo' -d '0 0'
hg up -qC default
echo bar > bar
hg ci -qAm 'add bar' -d '0 0'
hg log
echo

echo '% outgoing'
hg -q outgoing '../clone#foo'
echo

echo '% push'
hg -q push '../clone#foo'
hg --cwd ../clone heads
cd ..
echo

echo '% rolling back'
cd clone
hg rollback

echo '% incoming'
hg -q incoming

echo '% pull'
hg -q pull
hg heads
echo

echo '% pull should not have updated'
hg parents -q
echo '% going back to the default branch'
hg up -C 0
hg parents
echo '% no new revs, no update'
hg pull -qu
hg parents -q
echo '% rollback'
hg rollback
hg up -C 0
hg parents -q
echo '% pull -u takes us back to branch foo'
hg pull -qu
hg parents

echo '% rollback'
hg rollback
hg up -C 0
echo '% parents'
hg parents -q
echo '% heads'
hg heads -q
echo '% pull -u -r otherrev url#rev updates to rev'
hg pull -qur default default
echo '% parents'
hg parents
echo '% heads'
hg heads