test-bundle-vs-outgoing
84 lines
| 1.5 KiB
| text/plain
|
TextLexer
/ tests / test-bundle-vs-outgoing
Peter Arrenbrecht
|
r9821 | #!/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 | ||||