tests: update annotate tests to work around simplemerge bug
test-annotate.t and test-fastannotate.hg were failing with --pure
since
57203e0210f8 (copies: calculate mergecopies() based on
pathcopies(), 2019-04-11). It turned out to be because the pure file
merge code behaved differently. I'm guessing it's the
mdiff.get_matching_blocks() that behaves differently, but I haven't
confirmed that.
With this content in the base:
a
a
a
And this on the local side:
a
z
a
And this on the other side:
a
a
a
b4
c
b6
It produced this conflict:
a
z
a
<<<<<<< working copy:
b80e3e32f75a - test: c
||||||| base
a
=======
a
b4
c
b5
>>>>>>> merge rev:
64afcdf8e29e - test: mergeb
I don't care enough about the pure Python code to fix it, so this
patch just updates the tests to manually resolve the conflict.
Differential Revision: https://phab.mercurial-scm.org/D6351
--- a/tests/test-annotate.t Tue May 07 14:42:15 2019 -0700
+++ b/tests/test-annotate.t Mon May 06 22:06:23 2019 -0700
@@ -273,10 +273,31 @@
> EOF
$ hg ci -mc -d '3 0'
created new head
+Work around the pure version not resolving the conflict like native code
+#if pure
+ $ hg merge
+ merging b
+ warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
+ 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+ use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
+ [1]
+ $ cat <<EOF > b
+ > a
+ > z
+ > a
+ > b4
+ > c
+ > b5
+ > EOF
+ $ hg resolve -m b
+ (no more unresolved files)
+ $ rm b.orig
+#else
$ hg merge
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
+#endif
$ echo d >> b
$ hg ci -mmerge2 -d '4 0'
--- a/tests/test-fastannotate-hg.t Tue May 07 14:42:15 2019 -0700
+++ b/tests/test-fastannotate-hg.t Mon May 06 22:06:23 2019 -0700
@@ -273,10 +273,31 @@
> EOF
$ hg ci -mc -d '3 0'
created new head
+Work around the pure version not resolving the conflict like native code
+#if pure
+ $ hg merge
+ merging b
+ warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
+ 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+ use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
+ [1]
+ $ cat <<EOF > b
+ > a
+ > z
+ > a
+ > b4
+ > c
+ > b5
+ > EOF
+ $ hg resolve -m b
+ (no more unresolved files)
+ $ rm b.orig
+#else
$ hg merge
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
+#endif
$ echo d >> b
$ hg ci -mmerge2 -d '4 0'