test-bundle
168 lines
| 3.9 KiB
| text/plain
|
TextLexer
/ tests / test-bundle
|
r2274 | #!/bin/sh | ||
|
r4287 | cp "$TESTDIR"/printenv.py . | ||
|
r5663 | echo "====== Setting up test" | ||
|
r2274 | hg init test | ||
cd test | ||||
echo 0 > afile | ||||
hg add afile | ||||
hg commit -m "0.0" -d "1000000 0" | ||||
echo 1 >> afile | ||||
hg commit -m "0.1" -d "1000000 0" | ||||
echo 2 >> afile | ||||
hg commit -m "0.2" -d "1000000 0" | ||||
echo 3 >> afile | ||||
hg commit -m "0.3" -d "1000000 0" | ||||
hg update -C 0 | ||||
echo 1 >> afile | ||||
hg commit -m "1.1" -d "1000000 0" | ||||
echo 2 >> afile | ||||
hg commit -m "1.2" -d "1000000 0" | ||||
echo "a line" > fred | ||||
echo 3 >> afile | ||||
hg add fred | ||||
hg commit -m "1.3" -d "1000000 0" | ||||
hg mv afile adifferentfile | ||||
hg commit -m "1.3m" -d "1000000 0" | ||||
hg update -C 3 | ||||
hg mv afile anotherfile | ||||
hg commit -m "0.3m" -d "1000000 0" | ||||
hg verify | ||||
cd .. | ||||
hg init empty | ||||
|
r5663 | |||
|
r6171 | echo "====== Bundle --all" | ||
hg -R test bundle --all all.hg | ||||
|
r7853 | |||
|
r5663 | echo "====== Bundle test to full.hg" | ||
|
r2274 | hg -R test bundle full.hg empty | ||
|
r5663 | echo "====== Unbundle full.hg in test" | ||
|
r2274 | hg -R test unbundle full.hg | ||
|
r5663 | echo "====== Verify empty" | ||
|
r2274 | hg -R empty heads | ||
hg -R empty verify | ||||
|
r5663 | echo "====== Pull full.hg into test (using --cwd)" | ||
|
r2738 | hg --cwd test pull ../full.hg | ||
|
r5663 | echo "====== Pull full.hg into empty (using --cwd)" | ||
|
r2738 | hg --cwd empty pull ../full.hg | ||
|
r5663 | echo "====== Rollback empty" | ||
|
r2738 | hg -R empty rollback | ||
|
r5663 | echo "====== Pull full.hg into empty again (using --cwd)" | ||
|
r2738 | hg --cwd empty pull ../full.hg | ||
|
r5664 | echo "====== Pull full.hg into test (using -R)" | ||
hg -R test pull full.hg | ||||
echo "====== Pull full.hg into empty (using -R)" | ||||
hg -R empty pull full.hg | ||||
echo "====== Rollback empty" | ||||
hg -R empty rollback | ||||
echo "====== Pull full.hg into empty again (using -R)" | ||||
hg -R empty pull full.hg | ||||
|
r5663 | echo "====== Log -R full.hg in fresh empty" | ||
|
r3988 | rm -r empty | ||
|
r2274 | hg init empty | ||
cd empty | ||||
hg -R bundle://../full.hg log | ||||
|
r5663 | |||
echo "====== Pull ../full.hg into empty (with hook)" | ||||
|
r2673 | echo '[hooks]' >> .hg/hgrc | ||
|
r4287 | echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc | ||
|
r2274 | #doesn't work (yet ?) | ||
#hg -R bundle://../full.hg verify | ||||
hg pull bundle://../full.hg | ||||
|
r6128 | echo "====== Rollback empty" | ||
hg rollback | ||||
|
r2274 | cd .. | ||
|
r6128 | echo "====== Log -R bundle:empty+full.hg" | ||
hg -R bundle:empty+full.hg log --template="{rev} " | ||||
echo "" | ||||
echo "====== Pull full.hg into empty again (using -R; with hook)" | ||||
hg -R empty pull full.hg | ||||
|
r2274 | |||
|
r5663 | echo "====== Create partial clones" | ||
|
r3988 | rm -r empty | ||
|
r2274 | hg init empty | ||
hg clone -r 3 test partial | ||||
hg clone partial partial2 | ||||
cd partial | ||||
|
r5663 | echo "====== Log -R full.hg in partial" | ||
|
r2274 | hg -R bundle://../full.hg log | ||
|
r5663 | echo "====== Incoming full.hg in partial" | ||
|
r2274 | hg incoming bundle://../full.hg | ||
|
r5663 | echo "====== Outgoing -R full.hg vs partial2 in partial" | ||
|
r2274 | hg -R bundle://../full.hg outgoing ../partial2 | ||
|
r5663 | echo "====== Outgoing -R does-not-exist.hg vs partial2 in partial" | ||
|
r3429 | hg -R bundle://../does-not-exist.hg outgoing ../partial2 | ||
|
r2274 | cd .. | ||
|
r4042 | |||
|
r6316 | echo "====== Direct clone from bundle (all-history)" | ||
hg clone full.hg full-clone | ||||
hg -R full-clone heads | ||||
rm -r full-clone | ||||
|
r8936 | # test for http://mercurial.selenic.com/bts/issue216 | ||
|
r5663 | echo "====== Unbundle incremental bundles into fresh empty in one go" | ||
|
r4699 | rm -r empty | ||
hg init empty | ||||
hg -R test bundle --base null -r 0 ../0.hg | ||||
hg -R test bundle --base 0 -r 1 ../1.hg | ||||
hg -R empty unbundle -u ../0.hg ../1.hg | ||||
|
r4042 | # test for 540d1059c802 | ||
|
r5663 | echo "====== test for 540d1059c802" | ||
|
r4042 | hg init orig | ||
cd orig | ||||
echo foo > foo | ||||
hg add foo | ||||
|
r8167 | hg ci -m 'add foo' | ||
|
r4042 | |||
hg clone . ../copy | ||||
|
r8167 | hg tag foo | ||
|
r4042 | |||
cd ../copy | ||||
echo >> foo | ||||
|
r8167 | hg ci -m 'change foo' | ||
|
r4042 | hg bundle ../bundle.hg ../orig | ||
cd ../orig | ||||
hg incoming ../bundle.hg | ||||
cd .. | ||||
|
r7141 | |||
|
r8936 | # test for http://mercurial.selenic.com/bts/issue1144 | ||
|
r7141 | echo "===== test that verify bundle does not traceback" | ||
# partial history bundle, fails w/ unkown parent | ||||
hg -R bundle.hg verify | ||||
# full history bundle, refuses to verify non-local repo | ||||
hg -R all.hg verify | ||||
# but, regular verify must continue to work | ||||
hg -R orig verify | ||||
|
r7853 | echo "====== diff against bundle" | ||
hg init b | ||||
cd b | ||||
hg -R ../all.hg diff -r tip | ||||
cd .. | ||||
|
r7141 | |||
|
r9820 | echo "====== bundle single branch" | ||
hg init branchy | ||||
cd branchy | ||||
echo a >a | ||||
hg ci -Ama | ||||
echo b >b | ||||
hg ci -Amb | ||||
echo b1 >b1 | ||||
hg ci -Amb1 | ||||
hg up 0 | ||||
echo c >c | ||||
hg ci -Amc | ||||
echo c1 >c1 | ||||
hg ci -Amc1 | ||||
hg clone -q .#tip part | ||||
echo "== bundling via incoming" | ||||
hg in -R part --bundle incoming.hg --template "{node}\n" . | ||||
echo "== bundling" | ||||
hg bundle bundle.hg part --debug | ||||
|
r7853 | |||