tests: make merge conflicts explicit in `hg annotate` tests
We were using `true` as merge tool. I think it makes the test easier
to understand if we make the conflicts explcit. It also papered over a
conflict that shouldn't have been a conflict (just a bug in copy
tracing). I've marked that "BROKEN".
Differential Revision: https://phab.mercurial-scm.org/D6252
--- a/tests/test-annotate.t Thu Apr 18 03:05:42 2019 +0530
+++ b/tests/test-annotate.t Sun Apr 14 13:46:40 2019 -0700
@@ -1,4 +1,7 @@
- $ HGMERGE=true; export HGMERGE
+ $ cat >> "$HGRCPATH" << EOF
+ > [ui]
+ > merge = :merge3
+ > EOF
init
@@ -210,8 +213,34 @@
created new head
$ hg merge
merging b
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ 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 b
+ a
+ a
+ a
+ <<<<<<< working copy: 5fbdc1152d97 - test: b2.1
+ b4
+ c
+ b5
+ ||||||| base
+ =======
+ b4
+ b5
+ b6
+ >>>>>>> merge rev: 37ec9f5c3d1f - test: b2
+ $ cat <<EOF > b
+ > a
+ > a
+ > a
+ > b4
+ > c
+ > b5
+ > EOF
+ $ hg resolve --mark -q
+ $ rm b.orig
$ hg ci -mmergeb -d '3 0'
annotate after merge
@@ -244,15 +273,37 @@
> EOF
$ hg ci -mc -d '3 0'
created new head
+BROKEN: 'a' was copied to 'b' on both sides. We should not get a merge conflict here
$ hg merge
merging b
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ cat <<EOF >> 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 b
+ <<<<<<< working copy: b80e3e32f75a - test: c
+ a
+ z
+ a
+ ||||||| base
+ =======
+ a
+ a
+ a
+ b4
+ c
+ b5
+ >>>>>>> merge rev: 64afcdf8e29e - test: mergeb
+ $ cat <<EOF > b
+ > a
+ > z
+ > a
> b4
> c
> b5
> EOF
+ $ hg resolve --mark -q
+ $ rm b.orig
$ echo d >> b
$ hg ci -mmerge2 -d '4 0'
@@ -695,8 +746,41 @@
27: baz:3+->3-
$ hg merge 25
merging baz and qux to qux
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ warning: conflicts while merging qux! (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 qux
+ 0
+ 0
+ 1 baz:1
+ 2 baz:2
+ <<<<<<< working copy: 863de62655ef - test: baz:3+->3-
+ 3- baz:3
+ 4 baz:4
+ ||||||| base
+ 3+ baz:3
+ 4 baz:4
+ =======
+ 3+ baz:3
+ 4+ baz:4
+ >>>>>>> merge rev: cb8df70ae185 - test: qux:4->4+
+ 5
+ 6
+ 7
+ $ cat > qux <<EOF
+ > 0
+ > 0
+ > 1 baz:1
+ > 2 baz:2
+ > 3- baz:3
+ > 4 baz:4
+ > 5
+ > 6
+ > 7
+ > EOF
+ $ hg resolve --mark -q
+ $ rm qux.orig
$ hg ci -m merge
$ hg log -T '{rev}: {desc}\n' -r 'followlines(qux, 5:7)'
16: baz:0
@@ -709,8 +793,40 @@
$ hg up 25 --quiet
$ hg merge 27
merging qux and baz to qux
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ warning: conflicts while merging qux! (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 qux
+ 0
+ 0
+ 1 baz:1
+ 2 baz:2
+ <<<<<<< working copy: cb8df70ae185 - test: qux:4->4+
+ 3+ baz:3
+ 4+ baz:4
+ ||||||| base
+ 3+ baz:3
+ 4 baz:4
+ =======
+ 3- baz:3
+ 4 baz:4
+ >>>>>>> merge rev: 863de62655ef - test: baz:3+->3-
+ 5
+ 6
+ 7
+ $ cat > qux <<EOF
+ > 0
+ > 0
+ > 1 baz:1
+ > 2 baz:2
+ > 3+ baz:3
+ > 4+ baz:4
+ > 5
+ > 6
+ > EOF
+ $ hg resolve --mark -q
+ $ rm qux.orig
$ hg ci -m 'merge from other side'
created new head
$ hg log -T '{rev}: {desc}\n' -r 'followlines(qux, 5:7)'
@@ -1061,6 +1177,19 @@
$ echo 3 >> a
$ hg commit -m 3 -q
$ hg merge 2 -q
+ warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
+ [1]
+ $ cat a
+ <<<<<<< working copy: 0a068f0261cf - test: 3
+ 1
+ 2
+ 3
+ ||||||| base
+ 1
+ 2
+ =======
+ a
+ >>>>>>> merge rev: 9409851bc20a - test: a
$ cat > a << EOF
> b
> 1
@@ -1069,6 +1198,7 @@
> a
> EOF
$ hg resolve --mark -q
+ $ rm a.orig
$ hg commit -m m
$ hg annotate a
4: b
--- a/tests/test-fastannotate-hg.t Thu Apr 18 03:05:42 2019 +0530
+++ b/tests/test-fastannotate-hg.t Sun Apr 14 13:46:40 2019 -0700
@@ -1,6 +1,8 @@
(this file is backported from core hg tests/test-annotate.t)
$ cat >> $HGRCPATH << EOF
+ > [ui]
+ > merge = :merge3
> [diff]
> git=1
> [extensions]
@@ -11,8 +13,6 @@
> mainbranch=.
> EOF
- $ HGMERGE=true; export HGMERGE
-
init
$ hg init repo
@@ -157,8 +157,34 @@
created new head
$ hg merge
merging b
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ 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 b
+ a
+ a
+ a
+ <<<<<<< working copy: 5fbdc1152d97 - test: b2.1
+ b4
+ c
+ b5
+ ||||||| base
+ =======
+ b4
+ b5
+ b6
+ >>>>>>> merge rev: 37ec9f5c3d1f - test: b2
+ $ cat <<EOF > b
+ > a
+ > a
+ > a
+ > b4
+ > c
+ > b5
+ > EOF
+ $ hg resolve --mark -q
+ $ rm b.orig
$ hg ci -mmergeb -d '3 0'
annotate after merge
@@ -247,15 +273,37 @@
> EOF
$ hg ci -mc -d '3 0'
created new head
+BROKEN: 'a' was copied to 'b' on both sides. We should not get a merge conflict here
$ hg merge
merging b
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ cat <<EOF >> 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 b
+ <<<<<<< working copy: b80e3e32f75a - test: c
+ a
+ z
+ a
+ ||||||| base
+ =======
+ a
+ a
+ a
+ b4
+ c
+ b5
+ >>>>>>> merge rev: 64afcdf8e29e - test: mergeb
+ $ cat <<EOF > b
+ > a
+ > z
+ > a
> b4
> c
> b5
> EOF
+ $ hg resolve --mark -q
+ $ rm b.orig
$ echo d >> b
$ hg ci -mmerge2 -d '4 0'
@@ -745,6 +793,19 @@
$ echo 3 >> a
$ hg commit -m 3 -q
$ hg merge 2 -q
+ warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
+ [1]
+ $ cat a
+ <<<<<<< working copy: 0a068f0261cf - test: 3
+ 1
+ 2
+ 3
+ ||||||| base
+ 1
+ 2
+ =======
+ a
+ >>>>>>> merge rev: 9409851bc20a - test: a
$ cat > a << EOF
> b
> 1
@@ -753,6 +814,7 @@
> a
> EOF
$ hg resolve --mark -q
+ $ rm a.orig
$ hg commit -m m
$ hg annotate a
4: b
--- a/tests/test-fastannotate-perfhack.t Thu Apr 18 03:05:42 2019 +0530
+++ b/tests/test-fastannotate-perfhack.t Sun Apr 14 13:46:40 2019 -0700
@@ -5,8 +5,6 @@
> perfhack=1
> EOF
- $ HGMERGE=true; export HGMERGE
-
$ hg init repo
$ cd repo
--- a/tests/test-fastannotate-protocol.t Thu Apr 18 03:05:42 2019 +0530
+++ b/tests/test-fastannotate-protocol.t Sun Apr 14 13:46:40 2019 -0700
@@ -7,8 +7,6 @@
> mainbranch=@
> EOF
- $ HGMERGE=true; export HGMERGE
-
setup the server repo
$ hg init repo-server
--- a/tests/test-fastannotate.t Thu Apr 18 03:05:42 2019 +0530
+++ b/tests/test-fastannotate.t Sun Apr 14 13:46:40 2019 -0700
@@ -3,8 +3,6 @@
> fastannotate=
> EOF
- $ HGMERGE=true; export HGMERGE
-
$ hg init repo
$ cd repo