tests/test-pull-r
author Steve Losh <steve@stevelosh.com>
Mon, 12 Apr 2010 19:33:25 -0400
changeset 10960 ca739acf1a98
parent 10358 d42821cd5c96
permissions -rwxr-xr-x
commands: add more robust support for 'hg log -b' (issue2078) Fixes issue2078 and adds tests to cover various 'hg log -b' uses. This change adds a localrepo.lookupbranch(key, remote=None) function. This will look up the branch of the revision with the given key. The algorithm works like this: * If a remote repo is given and KEY is the name of a branch in that repo, return KEY. * If no remote repo is given and KEY is the name of a branch in the local repo object, return KEY. * Otherwise look up the revision with the identifier KEY in the local repo and return its branch. This change also makes 'hg log -b' use this new functionality and adds a few tests for it.

#!/bin/sh

hg init repo
cd repo
echo foo > foo
hg ci -qAm 'add foo'
echo >> foo
hg ci -m 'change foo'
hg up -qC 0
echo bar > bar
hg ci -qAm 'add bar'
hg log
cd ..
hg init copy
cd copy

echo '% pull a missing revision'
hg pull -qr missing ../repo

echo '% pull multiple revisions with update'
hg pull -qu -r 0 -r 1 ../repo
hg -q parents
hg rollback

echo '% pull -r 0'
hg pull -qr 0 ../repo
hg log

echo '% pull -r 1'
hg pull -qr 1 ../repo
hg log

# this used to abort: received changelog group is empty
echo '% pull -r 1 again'
hg pull -qr 1 ../repo