Mercurial > public > mercurial-scm > hg
diff tests/test-merge-combination-misc.t @ 46266:e8b0c519dfb3
test: split tests/test-merge-combination.t into multiple parts
That test is quite slow, lets split it in smaller bits.
Differential Revision: https://phab.mercurial-scm.org/D9768
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 14 Jan 2021 11:46:30 +0100 |
parents | tests/test-merge-combination.t@8045e4aa366b |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge-combination-misc.t Thu Jan 14 11:46:30 2021 +0100 @@ -0,0 +1,47 @@ +Testing recorded "modified" files for merge commit +================================================== + +This file shows what hg says are "modified" files for a merge commit +(hg log -T {files}), somewhat exhaustively. + +This file test multiple corner case. + +For merges that involve files contents changing, check test-merge-combination-file-content.t + +For merges that involve executable bit changing, check test-merge-combination-exec-bytes.t + + +Case with multiple or zero merge ancestors, copies/renames, and identical file contents +with different filelog revisions are not currently covered. + + $ . $TESTDIR/testlib/merge-combination-util.sh + +Files modified or cleanly merged, with no greatest common ancestors: + + $ hg init repo; cd repo + $ touch a0 b0; hg commit -qAm 0 + $ hg up -qr null; touch a1 b1; hg commit -qAm 1 + $ hg merge -qr 0; rm b*; hg commit -qAm 2 + $ hg log -r . -T '{files}\n' + b0 b1 + $ cd ../ + $ rm -rf repo + +A few cases of criss-cross merges involving deletions (listing all +such merges is probably too much). Both gcas contain $files, so we +expect the final merge to behave like a merge with a single gca +containing $files. + + $ hg init repo; cd repo + $ files="c1 u1 c2 u2" + $ touch $files; hg commit -qAm '0 root' + $ for f in $files; do echo f > $f; done; hg commit -qAm '1 gca1' + $ hg up -qr0; hg revert -qr 1 --all; hg commit -qAm '2 gca2' + $ hg up -qr 1; hg merge -qr 2; rm *1; hg commit -qAm '3 p1' + $ hg up -qr 2; hg merge -qr 1; rm *2; hg commit -qAm '4 p2' + $ hg merge -qr 3; echo f > u1; echo f > u2; rm -f c1 c2 + $ hg commit -qAm '5 merge with two gcas' + $ hg log -r . -T '{files}\n' # expecting u1 u2 + + $ cd ../ + $ rm -rf repo