test-bundle.t
575 lines
| 13.2 KiB
| text/troff
|
Tads3Lexer
/ tests / test-bundle.t
|
r11870 | $ cp "$TESTDIR"/printenv.py . | ||
Setting up test | ||||
$ hg init test | ||||
$ cd test | ||||
$ echo 0 > afile | ||||
$ hg add afile | ||||
|
r12156 | $ hg commit -m "0.0" | ||
|
r11870 | $ echo 1 >> afile | ||
|
r12156 | $ hg commit -m "0.1" | ||
|
r11870 | $ echo 2 >> afile | ||
|
r12156 | $ hg commit -m "0.2" | ||
|
r11870 | $ echo 3 >> afile | ||
|
r12156 | $ hg commit -m "0.3" | ||
|
r11870 | $ hg update -C 0 | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo 1 >> afile | ||||
|
r12156 | $ hg commit -m "1.1" | ||
|
r11870 | created new head | ||
$ echo 2 >> afile | ||||
|
r12156 | $ hg commit -m "1.2" | ||
|
r11870 | $ echo "a line" > fred | ||
$ echo 3 >> afile | ||||
$ hg add fred | ||||
|
r12156 | $ hg commit -m "1.3" | ||
|
r11870 | $ hg mv afile adifferentfile | ||
|
r12156 | $ hg commit -m "1.3m" | ||
|
r11870 | $ hg update -C 3 | ||
1 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
$ hg mv afile anotherfile | ||||
|
r12156 | $ hg commit -m "0.3m" | ||
|
r11870 | $ 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 | ||||
|
r12316 | [1] | ||
|
r11870 | $ 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 | ||||
|
r12156 | changeset: 8:aa35859c02ea | ||
|
r11870 | tag: tip | ||
|
r12156 | parent: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3m | ||
|
r12156 | changeset: 7:a6a34bfa0076 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3m | ||
|
r12156 | changeset: 6:7373c1169842 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3 | ||
|
r12156 | changeset: 5:1bb50a9436a7 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.2 | ||
|
r12156 | changeset: 4:095197eb4973 | ||
parent: 0:f9ee2f85a263 | ||||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.1 | ||
|
r12156 | changeset: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3 | ||
|
r12156 | changeset: 2:e38ba6f5b7e0 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.2 | ||
|
r12156 | changeset: 1:34c2bf6b0626 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.1 | ||
|
r12156 | changeset: 0:f9ee2f85a263 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.0 | ||
|
r13382 | Make sure bundlerepo doesn't leak tempfiles (issue2491) | ||
$ ls .hg | ||||
00changelog.i | ||||
cache | ||||
requires | ||||
store | ||||
|
r11870 | |||
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 | ||||
|
r12156 | changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_SOURCE=pull HG_URL=bundle:../full.hg | ||
|
r11870 | 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 | ||||
|
r12156 | changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_SOURCE=pull HG_URL=bundle:empty+full.hg | ||
|
r11870 | 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 | ||||
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 | ||||
|
r12156 | changeset: 8:aa35859c02ea | ||
|
r11870 | tag: tip | ||
|
r12156 | parent: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3m | ||
|
r12156 | changeset: 7:a6a34bfa0076 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3m | ||
|
r12156 | changeset: 6:7373c1169842 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3 | ||
|
r12156 | changeset: 5:1bb50a9436a7 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.2 | ||
|
r12156 | changeset: 4:095197eb4973 | ||
parent: 0:f9ee2f85a263 | ||||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.1 | ||
|
r12156 | changeset: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3 | ||
|
r12156 | changeset: 2:e38ba6f5b7e0 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.2 | ||
|
r12156 | changeset: 1:34c2bf6b0626 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.1 | ||
|
r12156 | changeset: 0:f9ee2f85a263 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.0 | ||
Incoming full.hg in partial | ||||
$ hg incoming bundle://../full.hg | ||||
comparing with bundle://../full.hg | ||||
searching for changes | ||||
|
r12156 | changeset: 4:095197eb4973 | ||
parent: 0:f9ee2f85a263 | ||||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.1 | ||
|
r12156 | changeset: 5:1bb50a9436a7 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.2 | ||
|
r12156 | changeset: 6:7373c1169842 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3 | ||
|
r12156 | changeset: 7:a6a34bfa0076 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3m | ||
|
r12156 | changeset: 8:aa35859c02ea | ||
|
r11870 | tag: tip | ||
|
r12156 | parent: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3m | ||
Outgoing -R full.hg vs partial2 in partial | ||||
$ hg -R bundle://../full.hg outgoing ../partial2 | ||||
comparing with ../partial2 | ||||
searching for changes | ||||
|
r12156 | changeset: 4:095197eb4973 | ||
parent: 0:f9ee2f85a263 | ||||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.1 | ||
|
r12156 | changeset: 5:1bb50a9436a7 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.2 | ||
|
r12156 | changeset: 6:7373c1169842 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3 | ||
|
r12156 | changeset: 7:a6a34bfa0076 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3m | ||
|
r12156 | changeset: 8:aa35859c02ea | ||
|
r11870 | tag: tip | ||
|
r12156 | parent: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | 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 | ||||
|
r12316 | [255] | ||
|
r11870 | $ 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 | ||||
|
r12156 | changeset: 8:aa35859c02ea | ||
|
r11870 | tag: tip | ||
|
r12156 | parent: 3:eebf5a27f8ca | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 0.3m | ||
|
r12156 | changeset: 7:a6a34bfa0076 | ||
|
r11870 | user: test | ||
|
r12156 | date: Thu Jan 01 00:00:00 1970 +0000 | ||
|
r11870 | summary: 1.3m | ||
$ rm -r full-clone | ||||
|
r13053 | When cloning from a non-copiable repository into '', do not | ||
recurse infinitely (issue 2528) | ||||
$ hg clone full.hg '' | ||||
abort: No such file or directory | ||||
[255] | ||||
|
r11870 | 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! | ||||
|
r12316 | [255] | ||
|
r11870 | |||
full history bundle, refuses to verify non-local repo | ||||
$ hg -R all.hg verify | ||||
abort: cannot verify bundle or remote repos | ||||
|
r12316 | [255] | ||
|
r11870 | |||
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 | ||||
|
r12156 | diff -r aa35859c02ea anotherfile | ||
--- a/anotherfile Thu Jan 01 00:00:00 1970 +0000 | ||||
|
r11870 | +++ /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 | ||||
|
r13116 | bundling: 0 changesets | ||
bundling: 0 changesets | ||||
bundling: 0 changesets | ||||
bundling: 1 changesets | ||||
bundling: 1 changesets | ||||
bundling: 1 changesets | ||||
bundling: 2 changesets | ||||
bundling: 0/2 manifests (0.00%) | ||||
bundling: 0/2 manifests (0.00%) | ||||
bundling: 0/2 manifests (0.00%) | ||||
bundling: 1/2 manifests (50.00%) | ||||
bundling: 1/2 manifests (50.00%) | ||||
bundling: 1/2 manifests (50.00%) | ||||
bundling: 2/2 manifests (100.00%) | ||||
bundling: b 0/2 files (0.00%) | ||||
bundling: b 0/2 files (0.00%) | ||||
bundling: b 0/2 files (0.00%) | ||||
bundling: b 0/2 files (0.00%) | ||||
bundling: b1 1/2 files (50.00%) | ||||
bundling: b1 1/2 files (50.00%) | ||||
bundling: b1 1/2 files (50.00%) | ||||
bundling: b1 1/2 files (50.00%) | ||||
|
r11870 | |||