test-bundle.t
558 lines
| 13.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-bundle.t
Martin Geisler
|
r11870 | $ 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 | ||||