Mercurial > hg
diff tests/test-clone.t @ 11806:fd66a181f575
tests: unify test-clone
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Tue, 10 Aug 2010 13:21:28 +0200 |
parents | tests/test-clone@be5e86c80628 |
children | f1c2de22b8a8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone.t Tue Aug 10 13:21:28 2010 +0200 @@ -0,0 +1,433 @@ +Prepare repo a: + + $ mkdir a + $ cd a + $ hg init + $ echo a > a + $ hg add a + $ hg commit -m test + $ echo first line > b + $ hg add b + +Create a non-inlined filelog: + + $ python -c 'for x in range(10000): print x' >> data1 + $ for j in 0 1 2 3 4 5 6 7 8 9; do + > cat data1 >> b + > hg commit -m test + > done + +List files in store/data (should show a 'b.d'): + + $ for i in .hg/store/data/*; do + > echo $i + > done + .hg/store/data/a.i + .hg/store/data/b.d + .hg/store/data/b.i + +Default operation: + + $ hg clone . ../b + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd ../b + $ cat a + a + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 11 changesets, 11 total revisions + +No update, with debug option: + + $ hg --debug clone -U . ../c + linked 8 files + $ cd ../c + $ cat a 2>/dev/null || echo "a not present" + a not present + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 11 changesets, 11 total revisions + +Default destination: + + $ mkdir ../d + $ cd ../d + $ hg clone ../a + destination directory: a + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd a + $ hg cat a + a + $ cd ../.. + +Check that we drop the 'file:' from the path before writing the .hgrc: + + $ hg clone file:a e + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ grep 'file:' e/.hg/hgrc + +Check that path aliases are expanded: + + $ hg clone -q -U --config 'paths.foobar=a#0' foobar f + $ hg -R f showconfig paths.default + .*/a#0 + +Use --pull: + + $ hg clone --pull a g + requesting all changes + adding changesets + adding manifests + adding file changes + added 11 changesets with 11 changes to 2 files + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg -R g verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 2 files, 11 changesets, 11 total revisions + +Clone to '.': + + $ mkdir h + $ cd h + $ hg clone ../a . + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd .. + + +*** Tests for option -u *** + +Adding some more history to repo a: + + $ cd a + $ hg tag ref1 + $ echo the quick brown fox >a + $ hg ci -m "hacked default" + $ hg up ref1 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg branch stable + marked working directory as branch stable + $ echo some text >a + $ hg ci -m "starting branch stable" + $ hg tag ref2 + $ echo some more text >a + $ hg ci -m "another change for branch stable" + $ hg up ref2 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg parents + changeset: 13:e8ece76546a6 + branch: stable + tag: ref2 + parent: 10:a7949464abda + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: starting branch stable + + +Repo a has two heads: + + $ hg heads + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + + $ cd .. + + +Testing --noupdate with --updaterev (must abort): + + $ hg clone --noupdate --updaterev 1 a ua + abort: cannot specify both --noupdate and --updaterev + + +Testing clone -u: + + $ hg clone -u . a ua + updating to branch stable + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has both heads: + + $ hg -R ua heads + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + +Same revision checked out in repo a and ua: + + $ hg -R a parents --template "{node|short}\n" + e8ece76546a6 + $ hg -R ua parents --template "{node|short}\n" + e8ece76546a6 + + $ rm -r ua + + +Testing clone --pull -u: + + $ hg clone --pull -u . a ua + requesting all changes + adding changesets + adding manifests + adding file changes + added 16 changesets with 16 changes to 3 files (+1 heads) + updating to branch stable + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has both heads: + + $ hg -R ua heads + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + +Same revision checked out in repo a and ua: + + $ hg -R a parents --template "{node|short}\n" + e8ece76546a6 + $ hg -R ua parents --template "{node|short}\n" + e8ece76546a6 + + $ rm -r ua + + +Testing clone -u <branch>: + + $ hg clone -u stable a ua + updating to branch stable + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has both heads: + + $ hg -R ua heads + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + +Branch 'stable' is checked out: + + $ hg -R ua parents + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + + $ rm -r ua + + +Testing default checkout: + + $ hg clone a ua + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has both heads: + + $ hg -R ua heads + changeset: 15:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + +Branch 'default' is checked out: + + $ hg -R ua parents + changeset: 12:f21241060d6a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: hacked default + + + $ rm -r ua + + +Testing #<branch>: + + $ hg clone -u . a#stable ua + requesting all changes + adding changesets + adding manifests + adding file changes + added 14 changesets with 14 changes to 3 files + updating to branch stable + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6): + + $ hg -R ua heads + changeset: 13:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 10:a7949464abda + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test + + +Same revision checked out in repo a and ua: + + $ hg -R a parents --template "{node|short}\n" + e8ece76546a6 + $ hg -R ua parents --template "{node|short}\n" + e8ece76546a6 + + $ rm -r ua + + +Testing -u -r <branch>: + + $ hg clone -u . -r stable a ua + requesting all changes + adding changesets + adding manifests + adding file changes + added 14 changesets with 14 changes to 3 files + updating to branch stable + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6): + + $ hg -R ua heads + changeset: 13:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 10:a7949464abda + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test + + +Same revision checked out in repo a and ua: + + $ hg -R a parents --template "{node|short}\n" + e8ece76546a6 + $ hg -R ua parents --template "{node|short}\n" + e8ece76546a6 + + $ rm -r ua + + +Testing -r <branch>: + + $ hg clone -r stable a ua + requesting all changes + adding changesets + adding manifests + adding file changes + added 14 changesets with 14 changes to 3 files + updating to branch stable + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Repo ua has branch 'stable' and 'default' (was changed in fd511e9eeea6): + + $ hg -R ua heads + changeset: 13:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + changeset: 10:a7949464abda + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test + + +Branch 'stable' is checked out: + + $ hg -R ua parents + changeset: 13:0aae7cf88f0d + branch: stable + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: another change for branch stable + + + $ rm -r ua + + +Testing issue2267: + + $ cat <<EOF > simpleclone.py + > from mercurial import ui, hg + > myui = ui.ui() + > repo = hg.repository(myui, 'a') + > hg.clone(myui, repo, dest="ua") + > EOF + + $ python simpleclone.py + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ rm -r ua +