[PATCH 3 of 3] Issue1327: Test case documenting the problematic behaviour

Mads Kiilerich mads at kiilerich.com
Sat Jun 20 20:36:19 CDT 2009


# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1245548170 -7200
# Node ID 029068e255114ca23c9fe2b5537284f82fcfd72a
# Parent  07fe1695fad4464f18d3fa632af99a3278168296
Issue1327: Test case documenting the problematic behaviour

diff --git a/tests/test-merge-ancestor b/tests/test-merge-ancestor
new file mode 100755
--- /dev/null
+++ b/tests/test-merge-ancestor
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+hg init A
+cd A
+
+echo a > a
+hg ci -Am a1 > /dev/null
+
+echo b >> a
+hg ci -m b1
+
+hg up 0 > /dev/null
+echo b >> a
+hg ci -m b2 > /dev/null
+
+echo a > a
+hg ci -m a2
+
+echo % log
+hg log
+
+echo % merging
+HGMERGE=internal:dump hg -v --debug --config merge-tools.internal:dump.premerge=False merge
+
+echo
+echo % result A
+echo a.base:
+cat a.base
+echo a.local:
+cat a.local
+echo a.other:
+cat a.other
+
+echo
+echo "% verifying that changeset order doesn't make any difference"
+
+hg clone -r tip . ../B > /dev/null
+cd ../B
+hg up > /dev/null
+hg pull ../A > /dev/null
+
+echo
+echo % merging
+HGMERGE=internal:dump hg -v --debug --config merge-tools.internal:dump.premerge=False merge
+
+true # happy end
diff --git a/tests/test-merge-ancestor.out b/tests/test-merge-ancestor.out
new file mode 100644
--- /dev/null
+++ b/tests/test-merge-ancestor.out
@@ -0,0 +1,60 @@
+% log
+changeset:   3:4e7f27ebaf99
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     a2
+
+changeset:   2:c291f4f5a47b
+parent:      0:07199ae38cd5
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     b2
+
+changeset:   1:32353e6f10a4
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     b1
+
+changeset:   0:07199ae38cd5
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     a1
+
+% merging
+  searching for copies back to rev 1
+resolving manifests
+ overwrite None partial False
+ ancestor 07199ae38cd5 local 4e7f27ebaf99+ remote 32353e6f10a4
+ a: versions differ -> m
+preserving a for resolve of a
+picked tool 'internal:dump' for a (binary False symlink False)
+merging a
+my a at 4e7f27ebaf99+ other a at 32353e6f10a4 ancestor a at 32353e6f10a4
+0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
+
+% result A
+a.base:
+a
+b
+a.local:
+a
+a.other:
+a
+b
+
+% verifying that changeset order doesn't make any difference
+
+% merging
+  searching for copies back to rev 1
+resolving manifests
+ overwrite None partial False
+ ancestor 07199ae38cd5 local 4e7f27ebaf99+ remote 32353e6f10a4
+ a: versions differ -> m
+preserving a for resolve of a
+picked tool 'internal:dump' for a (binary False symlink False)
+merging a
+my a at 4e7f27ebaf99+ other a at 32353e6f10a4 ancestor a at c291f4f5a47b
+0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon


More information about the Mercurial-devel mailing list