diff options
Diffstat (limited to 'tests/test-graft.t')
-rw-r--r-- | tests/test-graft.t | 535 |
1 files changed, 0 insertions, 535 deletions
diff --git a/tests/test-graft.t b/tests/test-graft.t deleted file mode 100644 index 6ec5aec..0000000 --- a/tests/test-graft.t +++ /dev/null @@ -1,535 +0,0 @@ -Create a repo with some stuff in it: - - $ hg init a - $ cd a - $ echo a > a - $ echo a > d - $ echo a > e - $ hg ci -qAm0 - $ echo b > a - $ hg ci -m1 -u bar - $ hg mv a b - $ hg ci -m2 - $ hg cp b c - $ hg ci -m3 -u baz - $ echo b > d - $ echo f > e - $ hg ci -m4 - $ hg up -q 3 - $ echo b > e - $ hg branch -q stable - $ hg ci -m5 - $ hg merge -q default --tool internal:local - $ hg branch -q default - $ hg ci -m6 - $ hg phase --public 3 - $ hg phase --force --secret 6 - - $ hg --config extensions.graphlog= log -G --template '{author}@{rev}.{phase}: {desc}\n' - @ test@6.secret: 6 - |\ - | o test@5.draft: 5 - | | - o | test@4.draft: 4 - |/ - o baz@3.public: 3 - | - o test@2.public: 2 - | - o bar@1.public: 1 - | - o test@0.public: 0 - - -Need to specify a rev: - - $ hg graft - abort: no revisions specified - [255] - -Can't graft ancestor: - - $ hg graft 1 2 - skipping ancestor revision 1 - skipping ancestor revision 2 - [255] - -Specify revisions with -r: - - $ hg graft -r 1 -r 2 - skipping ancestor revision 1 - skipping ancestor revision 2 - [255] - - $ hg graft -r 1 2 - skipping ancestor revision 2 - skipping ancestor revision 1 - [255] - -Can't graft with dirty wd: - - $ hg up -q 0 - $ echo foo > a - $ hg graft 1 - abort: outstanding uncommitted changes - [255] - $ hg revert a - -Graft a rename: - - $ hg graft 2 -u foo - grafting revision 2 - merging a and b to b - $ hg export tip --git - # HG changeset patch - # User foo - # Date 0 0 - # Node ID ef0ef43d49e79e81ddafdc7997401ba0041efc82 - # Parent 68795b066622ca79a25816a662041d8f78f3cd9e - 2 - - diff --git a/a b/b - rename from a - rename to b - -Look for extra:source - - $ hg log --debug -r tip - changeset: 7:ef0ef43d49e79e81ddafdc7997401ba0041efc82 - tag: tip - phase: draft - parent: 0:68795b066622ca79a25816a662041d8f78f3cd9e - parent: -1:0000000000000000000000000000000000000000 - manifest: 7:e59b6b228f9cbf9903d5e9abf996e083a1f533eb - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - files+: b - files-: a - extra: branch=default - extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4 - description: - 2 - - - -Graft out of order, skipping a merge and a duplicate - - $ hg graft 1 5 4 3 'merge()' 2 -n - skipping ungraftable merge revision 6 - skipping already grafted revision 2 - grafting revision 1 - grafting revision 5 - grafting revision 4 - grafting revision 3 - - $ hg graft 1 5 4 3 'merge()' 2 --debug - skipping ungraftable merge revision 6 - scanning for duplicate grafts - skipping already grafted revision 2 - grafting revision 1 - searching for copies back to rev 1 - unmatched files in local: - b - all copies found (* = to merge, ! = divergent, % = renamed and deleted): - b -> a * - checking for directory renames - resolving manifests - overwrite: False, partial: False - ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6 - b: local copied/moved to a -> m - preserving b for resolve of b - updating: b 1/1 files (100.00%) - picked tool 'internal:merge' for b (binary False symlink False) - merging b and a to b - my b@ef0ef43d49e7+ other a@5d205f8b35b6 ancestor a@68795b066622 - premerge successful - b - grafting revision 5 - searching for copies back to rev 1 - resolving manifests - overwrite: False, partial: False - ancestor: 4c60f11aa304, local: 6b9e5368ca4e+, remote: 97f8bfe72746 - e: remote is newer -> g - updating: e 1/1 files (100.00%) - getting e - e - grafting revision 4 - searching for copies back to rev 1 - resolving manifests - overwrite: False, partial: False - ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d - e: versions differ -> m - d: remote is newer -> g - preserving e for resolve of e - updating: d 1/2 files (50.00%) - getting d - updating: e 2/2 files (100.00%) - picked tool 'internal:merge' for e (binary False symlink False) - merging e - my e@1905859650ec+ other e@9c233e8e184d ancestor e@68795b066622 - warning: conflicts during merge. - merging e incomplete! (edit conflicts, then use 'hg resolve --mark') - abort: unresolved conflicts, can't continue - (use hg resolve and hg graft --continue) - [255] - -Continue without resolve should fail: - - $ hg graft -c - grafting revision 4 - abort: unresolved merge conflicts (see hg help resolve) - [255] - -Fix up: - - $ echo b > e - $ hg resolve -m e - -Continue with a revision should fail: - - $ hg graft -c 6 - abort: can't specify --continue and revisions - [255] - - $ hg graft -c -r 6 - abort: can't specify --continue and revisions - [255] - -Continue for real, clobber usernames - - $ hg graft -c -U - grafting revision 4 - grafting revision 3 - -Compare with original: - - $ hg diff -r 6 - $ hg status --rev 0:. -C - M d - M e - A b - a - A c - a - R a - -View graph: - - $ hg --config extensions.graphlog= log -G --template '{author}@{rev}.{phase}: {desc}\n' - @ test@11.draft: 3 - | - o test@10.draft: 4 - | - o test@9.draft: 5 - | - o bar@8.draft: 1 - | - o foo@7.draft: 2 - | - | o test@6.secret: 6 - | |\ - | | o test@5.draft: 5 - | | | - | o | test@4.draft: 4 - | |/ - | o baz@3.public: 3 - | | - | o test@2.public: 2 - | | - | o bar@1.public: 1 - |/ - o test@0.public: 0 - -Graft again onto another branch should preserve the original source - $ hg up -q 0 - $ echo 'g'>g - $ hg add g - $ hg ci -m 7 - created new head - $ hg graft 7 - grafting revision 7 - - $ hg log -r 7 --template '{rev}:{node}\n' - 7:ef0ef43d49e79e81ddafdc7997401ba0041efc82 - $ hg log -r 2 --template '{rev}:{node}\n' - 2:5c095ad7e90f871700f02dd1fa5012cb4498a2d4 - - $ hg log --debug -r tip - changeset: 13:9db0f28fd3747e92c57d015f53b5593aeec53c2d - tag: tip - phase: draft - parent: 12:b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f - parent: -1:0000000000000000000000000000000000000000 - manifest: 13:dc313617b8c32457c0d589e0dbbedfe71f3cd637 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - files+: b - files-: a - extra: branch=default - extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4 - description: - 2 - - -Disallow grafting an already grafted cset onto its original branch - $ hg up -q 6 - $ hg graft 7 - skipping already grafted revision 7 (was grafted from 2) - [255] - -Disallow grafting already grafted csets with the same origin onto each other - $ hg up -q 13 - $ hg graft 2 - skipping already grafted revision 2 - [255] - $ hg graft 7 - skipping already grafted revision 7 (same origin 2) - [255] - - $ hg up -q 7 - $ hg graft 2 - skipping already grafted revision 2 - [255] - $ hg graft tip - skipping already grafted revision 13 (same origin 2) - [255] - -Graft with --log - - $ hg up -Cq 1 - $ hg graft 3 --log -u foo - grafting revision 3 - warning: can't find ancestor for 'c' copied from 'b'! - $ hg log --template '{rev} {parents} {desc}\n' -r tip - 14 1:5d205f8b35b6 3 - (grafted from 4c60f11aa304a54ae1c199feb94e7fc771e51ed8) - -Resolve conflicted graft - $ hg up -q 0 - $ echo b > a - $ hg ci -m 8 - created new head - $ echo a > a - $ hg ci -m 9 - $ hg graft 1 --tool internal:fail - grafting revision 1 - abort: unresolved conflicts, can't continue - (use hg resolve and hg graft --continue) - [255] - $ hg resolve --all - merging a - $ hg graft -c - grafting revision 1 - $ hg export tip --git - # HG changeset patch - # User bar - # Date 0 0 - # Node ID 64ecd9071ce83c6e62f538d8ce7709d53f32ebf7 - # Parent 4bdb9a9d0b84ffee1d30f0dfc7744cade17aa19c - 1 - - diff --git a/a b/a - --- a/a - +++ b/a - @@ -1,1 +1,1 @@ - -a - +b - -Resolve conflicted graft with rename - $ echo c > a - $ hg ci -m 10 - $ hg graft 2 --tool internal:fail - grafting revision 2 - abort: unresolved conflicts, can't continue - (use hg resolve and hg graft --continue) - [255] - $ hg resolve --all - merging a and b to b - $ hg graft -c - grafting revision 2 - $ hg export tip --git - # HG changeset patch - # User test - # Date 0 0 - # Node ID 2e80e1351d6ed50302fe1e05f8bd1d4d412b6e11 - # Parent e5a51ae854a8bbaaf25cc5c6a57ff46042dadbb4 - 2 - - diff --git a/a b/b - rename from a - rename to b - -Test simple origin(), with and without args - $ hg log -r 'origin()' - changeset: 1:5d205f8b35b6 - user: bar - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 1 - - changeset: 2:5c095ad7e90f - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 3:4c60f11aa304 - user: baz - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 3 - - changeset: 4:9c233e8e184d - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 4 - - changeset: 5:97f8bfe72746 - branch: stable - parent: 3:4c60f11aa304 - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 5 - - $ hg log -r 'origin(7)' - changeset: 2:5c095ad7e90f - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - -Now transplant a graft to test following through copies - $ hg up -q 0 - $ hg branch -q dev - $ hg ci -qm "dev branch" - $ hg --config extensions.transplant= transplant -q 7 - $ hg log -r 'origin(.)' - changeset: 2:5c095ad7e90f - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - -Test simple destination - $ hg log -r 'destination()' - changeset: 7:ef0ef43d49e7 - parent: 0:68795b066622 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 8:6b9e5368ca4e - user: bar - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 1 - - changeset: 9:1905859650ec - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 5 - - changeset: 10:52dc0b4c6907 - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 4 - - changeset: 11:882b35362a6b - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 3 - - changeset: 13:9db0f28fd374 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 14:f64defefacee - parent: 1:5d205f8b35b6 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 3 - - changeset: 17:64ecd9071ce8 - user: bar - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 1 - - changeset: 19:2e80e1351d6e - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 21:7e61b508e709 - branch: dev - tag: tip - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - $ hg log -r 'destination(2)' - changeset: 7:ef0ef43d49e7 - parent: 0:68795b066622 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 13:9db0f28fd374 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 19:2e80e1351d6e - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 21:7e61b508e709 - branch: dev - tag: tip - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - -Transplants of grafts can find a destination... - $ hg log -r 'destination(7)' - changeset: 21:7e61b508e709 - branch: dev - tag: tip - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - -... grafts of grafts unfortunately can't - $ hg graft -q 13 - $ hg log -r 'destination(13)' -All copies of a cset - $ hg log -r 'origin(13) or destination(origin(13))' - changeset: 2:5c095ad7e90f - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 7:ef0ef43d49e7 - parent: 0:68795b066622 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 13:9db0f28fd374 - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 19:2e80e1351d6e - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 21:7e61b508e709 - branch: dev - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - - changeset: 22:1313d0a825e2 - branch: dev - tag: tip - user: foo - date: Thu Jan 01 00:00:00 1970 +0000 - summary: 2 - |