tests/test-export
author Brendan Cully <brendan@kublai.com>
Mon, 29 Jun 2009 00:54:23 -0700
changeset 8954 e67e5b60e55f
parent 8167 6c82beaaa11a
permissions -rwxr-xr-x
Branch heads should not include "heads" that are ancestors of other heads. For example, given 1 (branch a) -> 2 (branch b) -> 3 (branch a) I expect "hg heads a" to show only 3. Discovered by running hg heads HEAD on the mutt repo, where older clients committed default on top of HEAD.

#!/bin/sh

hg init repo
cd repo
touch foo
hg add foo
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
    echo "foo-$i" >> foo
    hg ci -m "foo-$i"
done

for out in "%nof%N" "%%%H" "%b-%R" "%h" "%r"; do
    echo "# foo-$out.patch"
    hg export -v -o "foo-$out.patch" 2:tip
done

echo "# exporting 4 changesets to a file"
hg export -o export_internal 1 2 3 4
grep HG export_internal | wc -l | sed -e 's/^ *//'
echo "# exporting 4 changesets to a file"
hg export 1 2 3 4 | grep HG | wc -l | sed -e 's/^ *//'
echo "# exporting revision -2 to a file"
hg export -- -2