Mercurial > public > mercurial-scm > hg-stable
diff tests/test-bundle.t @ 11870:33eb803e9343
tests: unify test-bundle
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 14 Aug 2010 03:16:02 +0200 |
parents | tests/test-bundle@0b999aec64e8 |
children | 4c94b6d0fb1c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bundle.t Sat Aug 14 03:16:02 2010 +0200 @@ -0,0 +1,558 @@ + $ cp "$TESTDIR"/printenv.py . + +Setting up test + + $ 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 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo 1 >> afile + $ hg commit -m "1.1" -d "1000000 0" + created new head + $ 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 + 1 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg mv afile anotherfile + $ hg commit -m "0.3m" -d "1000000 0" + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 4 files, 9 changesets, 7 total revisions + $ cd .. + $ hg init empty + +Bundle --all + + $ hg -R test bundle --all all.hg + 9 changesets found + +Bundle test to full.hg + + $ hg -R test bundle full.hg empty + searching for changes + 9 changesets found + +Unbundle full.hg in test + + $ hg -R test unbundle full.hg + adding changesets + adding manifests + adding file changes + added 0 changesets with 0 changes to 4 files + (run 'hg update' to get a working copy) + +Verify empty + + $ hg -R empty heads + $ hg -R empty verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 0 files, 0 changesets, 0 total revisions + +Pull full.hg into test (using --cwd) + + $ hg --cwd test pull ../full.hg + pulling from ../full.hg + searching for changes + no changes found + +Pull full.hg into empty (using --cwd) + + $ hg --cwd empty pull ../full.hg + pulling from ../full.hg + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +Rollback empty + + $ hg -R empty rollback + rolling back to revision -1 (undo pull) + +Pull full.hg into empty again (using --cwd) + + $ hg --cwd empty pull ../full.hg + pulling from ../full.hg + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +Pull full.hg into test (using -R) + + $ hg -R test pull full.hg + pulling from full.hg + searching for changes + no changes found + +Pull full.hg into empty (using -R) + + $ hg -R empty pull full.hg + pulling from full.hg + searching for changes + no changes found + +Rollback empty + + $ hg -R empty rollback + rolling back to revision -1 (undo pull) + +Pull full.hg into empty again (using -R) + + $ hg -R empty pull full.hg + pulling from full.hg + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +Log -R full.hg in fresh empty + + $ rm -r empty + $ hg init empty + $ cd empty + $ hg -R bundle://../full.hg log + changeset: 8:088ff9d6e1e1 + tag: tip + parent: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3m + + changeset: 7:27f57c869697 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3m + + changeset: 6:1e3f6b843bd6 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3 + + changeset: 5:024e4e7df376 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.2 + + changeset: 4:5f4f3ceb285e + parent: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.1 + + changeset: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3 + + changeset: 2:d62976ca1e50 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.2 + + changeset: 1:10b2180f755b + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.1 + + changeset: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.0 + + +Pull ../full.hg into empty (with hook) + + $ echo '[hooks]' >> .hg/hgrc + $ echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc + +doesn't work (yet ?) + +hg -R bundle://../full.hg verify + + $ hg pull bundle://../full.hg + changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:../full.hg + pulling from bundle://../full.hg + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +Rollback empty + + $ hg rollback + rolling back to revision -1 (undo pull) + $ cd .. + +Log -R bundle:empty+full.hg + + $ hg -R bundle:empty+full.hg log --template="{rev} "; echo "" + 8 7 6 5 4 3 2 1 0 + +Pull full.hg into empty again (using -R; with hook) + + $ hg -R empty pull full.hg + changegroup hook: HG_NODE=5649c9d34dd87d0ecb5fd39672128376e83b22e1 HG_SOURCE=pull HG_URL=bundle:empty+full.hg + pulling from full.hg + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +Create partial clones + + $ rm -r empty + $ hg init empty + $ hg clone -r 3 test partial + requesting all changes + adding changesets + adding manifests + adding file changes + added 4 changesets with 4 changes to 1 files + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg clone partial partial2 + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd partial + +Log -R full.hg in partial + + $ hg -R bundle://../full.hg log + changeset: 8:088ff9d6e1e1 + tag: tip + parent: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3m + + changeset: 7:27f57c869697 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3m + + changeset: 6:1e3f6b843bd6 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3 + + changeset: 5:024e4e7df376 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.2 + + changeset: 4:5f4f3ceb285e + parent: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.1 + + changeset: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3 + + changeset: 2:d62976ca1e50 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.2 + + changeset: 1:10b2180f755b + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.1 + + changeset: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.0 + + +Incoming full.hg in partial + + $ hg incoming bundle://../full.hg + comparing with bundle://../full.hg + searching for changes + changeset: 4:5f4f3ceb285e + parent: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.1 + + changeset: 5:024e4e7df376 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.2 + + changeset: 6:1e3f6b843bd6 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3 + + changeset: 7:27f57c869697 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3m + + changeset: 8:088ff9d6e1e1 + tag: tip + parent: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3m + + +Outgoing -R full.hg vs partial2 in partial + + $ hg -R bundle://../full.hg outgoing ../partial2 + comparing with ../partial2 + searching for changes + changeset: 4:5f4f3ceb285e + parent: 0:5649c9d34dd8 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.1 + + changeset: 5:024e4e7df376 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.2 + + changeset: 6:1e3f6b843bd6 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3 + + changeset: 7:27f57c869697 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3m + + changeset: 8:088ff9d6e1e1 + tag: tip + parent: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3m + + +Outgoing -R does-not-exist.hg vs partial2 in partial + + $ hg -R bundle://../does-not-exist.hg outgoing ../partial2 + abort: No such file or directory: ../does-not-exist.hg + $ cd .. + +Direct clone from bundle (all-history) + + $ hg clone full.hg full-clone + requesting all changes + adding changesets + adding manifests + adding file changes + added 9 changesets with 7 changes to 4 files (+1 heads) + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg -R full-clone heads + changeset: 8:088ff9d6e1e1 + tag: tip + parent: 3:ac69c658229d + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 0.3m + + changeset: 7:27f57c869697 + user: test + date: Mon Jan 12 13:46:40 1970 +0000 + summary: 1.3m + + $ rm -r full-clone + +test for http://mercurial.selenic.com/bts/issue216 + +Unbundle incremental bundles into fresh empty in one go + + $ rm -r empty + $ hg init empty + $ hg -R test bundle --base null -r 0 ../0.hg + 1 changesets found + $ hg -R test bundle --base 0 -r 1 ../1.hg + 1 changesets found + $ hg -R empty unbundle -u ../0.hg ../1.hg + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + +test for 540d1059c802 + +test for 540d1059c802 + + $ hg init orig + $ cd orig + $ echo foo > foo + $ hg add foo + $ hg ci -m 'add foo' + + $ hg clone . ../copy + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg tag foo + + $ cd ../copy + $ echo >> foo + $ hg ci -m 'change foo' + $ hg bundle ../bundle.hg ../orig + searching for changes + 1 changesets found + + $ cd ../orig + $ hg incoming ../bundle.hg + comparing with ../bundle.hg + searching for changes + changeset: 2:ed1b79f46b9a + tag: tip + parent: 0:bbd179dfa0a7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change foo + + $ cd .. + +test for http://mercurial.selenic.com/bts/issue1144 + +test that verify bundle does not traceback + +partial history bundle, fails w/ unkown parent + + $ hg -R bundle.hg verify + abort: 00changelog.i@bbd179dfa0a7: unknown parent! + +full history bundle, refuses to verify non-local repo + + $ hg -R all.hg verify + abort: cannot verify bundle or remote repos + +but, regular verify must continue to work + + $ hg -R orig verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 2 changesets, 2 total revisions + +diff against bundle + + $ hg init b + $ cd b + $ hg -R ../all.hg diff -r tip + diff -r 088ff9d6e1e1 anotherfile + --- a/anotherfile Mon Jan 12 13:46:40 1970 +0000 + +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 + @@ -1,4 +0,0 @@ + -0 + -1 + -2 + -3 + $ cd .. + +bundle single branch + + $ hg init branchy + $ cd branchy + $ echo a >a + $ hg ci -Ama + adding a + $ echo b >b + $ hg ci -Amb + adding b + $ echo b1 >b1 + $ hg ci -Amb1 + adding b1 + $ hg up 0 + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ echo c >c + $ hg ci -Amc + adding c + created new head + $ echo c1 >c1 + $ hg ci -Amc1 + adding c1 + $ hg clone -q .#tip part + +== bundling via incoming + + $ hg in -R part --bundle incoming.hg --template "{node}\n" . + comparing with . + searching for changes + d2ae7f538514cd87c17547b0de4cea71fe1af9fb + 5ece8e77363e2b5269e27c66828b72da29e4341a + +== bundling + + $ hg bundle bundle.hg part --debug + searching for changes + common changesets up to c0025332f9ed + 2 changesets found + list of changesets: + d2ae7f538514cd87c17547b0de4cea71fe1af9fb + 5ece8e77363e2b5269e27c66828b72da29e4341a + bundling changes: 0 chunks + bundling changes: 1 chunks + bundling changes: 2 chunks + bundling changes: 3 chunks + bundling changes: 4 chunks + bundling changes: 5 chunks + bundling changes: 6 chunks + bundling manifests: 0 chunks + bundling manifests: 1 chunks + bundling manifests: 2 chunks + bundling manifests: 3 chunks + bundling manifests: 4 chunks + bundling manifests: 5 chunks + bundling manifests: 6 chunks + bundling files: b 0 chunks + bundling files: b 1 chunks + bundling files: b 2 chunks + bundling files: b 3 chunks + bundling files: b1 4 chunks + bundling files: b1 5 chunks + bundling files: b1 6 chunks + bundling files: b1 7 chunks +