tests/test-url-rev
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Wed, 18 Nov 2009 12:47:58 +0100
changeset 9881 54b518fc6671
parent 8167 6c82beaaa11a
permissions -rwxr-xr-x
httprepo: suppress the `real URL is...' message in safe, common cases. When the actual and requested URL only differ by trailing slashes, there is no need to warn. As an example, this easily happens when accessing repositories on Bitbucket over HTTP(S). As far as I could tell, there were no existing tests for this behaviour.

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

hg init repo
cd repo
echo a > a
hg ci -qAm 'add a'
hg branch foo
echo >> a
hg ci -m 'change a'
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'
hg up -qC default
echo bar > bar
hg ci -qAm 'add bar'
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