|
|
#!/bin/sh
|
|
|
|
|
|
# this structure seems to tickle a bug in bundle's search for
|
|
|
# changesets, so first we have to recreate it
|
|
|
#
|
|
|
# o 8
|
|
|
# |
|
|
|
# | o 7
|
|
|
# | |
|
|
|
# | o 6
|
|
|
# |/|
|
|
|
# o | 5
|
|
|
# | |
|
|
|
# o | 4
|
|
|
# | |
|
|
|
# | o 3
|
|
|
# | |
|
|
|
# | o 2
|
|
|
# |/
|
|
|
# o 1
|
|
|
# |
|
|
|
# o 0
|
|
|
|
|
|
mkrev()
|
|
|
{
|
|
|
revno=$1
|
|
|
echo "rev $revno"
|
|
|
echo "rev $revno" > foo.txt
|
|
|
hg -q ci -m"rev $revno"
|
|
|
}
|
|
|
|
|
|
set -e
|
|
|
echo "% setup test repo1"
|
|
|
hg init repo1
|
|
|
cd repo1
|
|
|
echo "rev 0" > foo.txt
|
|
|
hg ci -Am"rev 0"
|
|
|
mkrev 1
|
|
|
|
|
|
# first branch
|
|
|
mkrev 2
|
|
|
mkrev 3
|
|
|
|
|
|
# back to rev 1 to create second branch
|
|
|
hg up -r1
|
|
|
mkrev 4
|
|
|
mkrev 5
|
|
|
|
|
|
# merge first branch to second branch
|
|
|
hg up -C -r5
|
|
|
HGMERGE=internal:local hg merge
|
|
|
echo "merge rev 5, rev 3" > foo.txt
|
|
|
hg ci -m"merge first branch to second branch"
|
|
|
|
|
|
# one more commit following the merge
|
|
|
mkrev 7
|
|
|
|
|
|
# back to "second branch" to make another head
|
|
|
hg up -r5
|
|
|
mkrev 8
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
echo "graphlog=" >> $HGRCPATH
|
|
|
|
|
|
echo "% the story so far"
|
|
|
hg glog --template "{rev}\n"
|
|
|
|
|
|
# check that "hg outgoing" really does the right thing
|
|
|
echo "% sanity check of outgoing: expect revs 4 5 6 7 8"
|
|
|
hg clone -r3 . ../repo2
|
|
|
# this should (and does) report 5 outgoing revisions: 4 5 6 7 8
|
|
|
hg outgoing --template "{rev}\n" ../repo2
|
|
|
|
|
|
echo "% test bundle (destination repo): expect 5 revisions"
|
|
|
# this should bundle the same 5 revisions that outgoing reported, but it
|
|
|
# actually bundles 7
|
|
|
hg bundle foo.bundle ../repo2
|
|
|
|
|
|
echo "% test bundle (base revision): expect 5 revisions"
|
|
|
# this should (and does) give exactly the same result as bundle
|
|
|
# with a destination repo... i.e. it's wrong too
|
|
|
hg bundle --base 3 foo.bundle
|
|
|
|
|
|
|
|
|
|