sapling/eden/scm/tests/test-merge-conflict-count.t
Muir Manders 1bcc7abff8 tests: enable rust status for debugruntest tests
Summary:
The new status doesn't work w/ legacy repos, so the tests need to be migrated. For each test, first I tried migrating to eagerepo, but in many cases that didn't work. Next I tried a remotefilelog repo (AKA "newclientrepo"). If I still couldn't get the test to work I just disabled rust status. This was mostly in tests that disabled treemanifest or were explicitly coupled with revlogs somehow.

Some tests had acute "hg status" discrepancies, so I left a FIXME(status) and disabled rust status.

I added a new "eagerepo" tinit.sh function that turns on eager format (for client repos). With this, tests doing "hg init" might just work with features that expect a modern repo.

Reviewed By: quark-zju

Differential Revision: D43839499

fbshipit-source-id: ce6d3b2747b90d31bd246c30551bdb55c446112f
2023-03-16 10:58:55 -07:00

91 lines
2.5 KiB
Raku

#chg-compatible
#debugruntest-compatible
$ enable amend rebase
$ setconfig merge.printcandidatecommmits=True
$ eagerepo
Encountering a merge conflict prints the number of textual conflicts in each file:
$ newrepo
$ hg debugdrawdag <<'EOS'
> e
> | # "b" has two conflicts between c and d:
> c d # b/b = 1\n2\n3\n4\n5\n6\n7\n8
> |/ # c/b = b\n2\n3\n4\n5\nq\n7\n8
> b # d/b = 0\n2\n3\n4\n5\n9\n7\n8
> |
> | # "a" has two conflicts between c and d:
> | # c/a = one
> a # d/a = two
> EOS
$ hg rebase -r d -d e
rebasing 211accd27e10 "d" (d)
merging a
merging b
warning: 1 conflicts while merging a! (edit, then use 'hg resolve --mark')
1 commits might have introduced this conflict:
- [21906429c027] c
warning: 2 conflicts while merging b! (edit, then use 'hg resolve --mark')
1 commits might have introduced this conflict:
- [21906429c027] c
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ cat b
<<<<<<< dest: 2c5d04f1a41f e - test: e
b
=======
0
>>>>>>> source: 211accd27e10 d - test: d
2
3
4
5
<<<<<<< dest: 2c5d04f1a41f e - test: e
q
=======
9
>>>>>>> source: 211accd27e10 d - test: d
7
8 (no-eol)
$ cat c
c (no-eol)
A merge conflict prints the possible conflicting commits:
$ newrepo
$ hg debugdrawdag <<'EOS'
> j
> | # d conflicts with c and h. e changed the file but doesn't
> i # conflict. We'll see that it gets included in the list as
> | # the algorithm isn't smart enough yet to know that.
> h # b/b = 1\n2\n3\n4\n5\n6\n7\n8
> | # c/b = b\n2\n3\n4\n5\nq\n7\n8
> g # d/b = 0\n2\n3\n4\n5\n9\n7\n8
> | # e/b = b\n2\n3\n4\n5\nq\n7\n8\nnot_conflicting
> f # h/b = c\n2\n3\n4\n5\nq\n7\n8\nnot_conflicting
> |
> e
> |
> c d
> |/
> b
> |
> | # "a" has two conflicts between g and d:
> | # g/a = one
> a # d/a = two
> EOS
$ hg rebase -r d -d j
rebasing 211accd27e10 "d" (d)
merging a
merging b
warning: 1 conflicts while merging a! (edit, then use 'hg resolve --mark')
1 commits might have introduced this conflict:
- [395beecc0ab6] g
warning: 2 conflicts while merging b! (edit, then use 'hg resolve --mark')
3 commits might have introduced this conflict:
- [0942ca9aff3d] h
- [3ebd0a462491] e
- [3e5843b4b236] c
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
=======