Use the pager given by the environment to display long output
Unix systems usually have a PAGER environment variable set.
If it is set, mercurial will use the pager application to display
output.
Two configuration variables are available to influence the behaviour of the
pager. ui.pager sets the pager application. The pager is
only used if ui.usepager is true. By default ui.usepager is disabled.
#!/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