Mercurial > hg
view tests/test-bdiff.py.out @ 30433:96f2f50d923f
bdiff: give slight preference to removing trailing lines
[This change could be folded into the previous changeset to minimize the repo
churn ...]
Similar to the previous change, introduce an exception to the general
preference for matches in the middle of bdiff ranges: If the best match on the
B side starts at the beginning of the bdiff range, don't aim for the
middle-most A side match but for the earliest.
New (later) matches on the A side will only be considered better if the
corresponding match on the B side *not* is at the beginning of the range.
Thus, if the best (middle-most) match on the B side turns out to be at the
beginning of the range, the earliest match on the A side will be used.
The bundle size for 4.0 (hg bundle --base null -r 4.0 x.hg) happens to go from
22807275 to 22808120 bytes - a 0.004% increase.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 15 Nov 2016 21:56:49 +0100 |
parents | 3633403888ae |
children | 7c0c722d568d |
line wrap: on
line source
test 'a\nc\n\n\n\n' 'a\nb\n\n\n' test 'a\nb\nc\n' 'a\nc\n' test '' '' test 'a\nb\nc' 'a\nb\nc' test 'a\nb\nc\nd\n' 'a\nd\n' test 'a\nb\nc\nd\n' 'a\nc\ne\n' test 'a\nb\nc\n' 'a\nc\n' test 'a\n' 'c\na\nb\n' test 'a\n' '' test 'a\n' 'b\nc\n' test 'a\n' 'c\na\n' test '' 'adjfkjdjksdhfksj' test '' 'ab' test '' 'abc' test 'a' 'a' test 'ab' 'ab' test 'abc' 'abc' test 'a\n' 'a\n' test 'a\nb' 'a\nb' showdiff( 'x\n\nx\n\nx\n\nx\n\nz\n', 'x\n\nx\n\ny\n\nx\n\nx\n\nz\n'): 'x\n\nx\n\n' 6 6 '' -> 'y\n\n' 'x\n\nx\n\nz\n' showdiff( 'x\n\nx\n\nx\n\nx\n\nz\n', 'x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n'): 'x\n\nx\n\n' 6 6 '' -> 'y\n\n' 'x\n\n' 9 9 '' -> 'y\n\n' 'x\n\nz\n' showdiff( 'a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n', 'a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n'): 0 0 '' -> 'a\nb\nb\n' 'a\nb\nb\nb\nc\n.\n' 12 12 '' -> 'b\nc\n.\n' 'd\ne\n' 16 18 '.\n' -> '' 'f\n' done done Nice diff for a trivial change: showdiff( '<0\n-\n<1\n-\n<2\n-\n<3\n-\n<4\n-\n', '>0\n-\n>1\n-\n>2\n-\n>3\n-\n>4\n-\n'): 0 3 '<0\n' -> '>0\n' '-\n' 5 8 '<1\n' -> '>1\n' '-\n' 10 13 '<2\n' -> '>2\n' '-\n' 15 18 '<3\n' -> '>3\n' '-\n' 20 23 '<4\n' -> '>4\n' '-\n' Diff 1 to 3 lines - preference for appending: showdiff( 'a\n', 'a\na\na\n'): 'a\n' 2 2 '' -> 'a\na\n' Diff 1 to 5 lines - preference for appending: showdiff( 'a\n', 'a\na\na\na\na\n'): 'a\n' 2 2 '' -> 'a\na\na\na\n' Diff 3 to 1 lines - preference for removing trailing lines: showdiff( 'a\na\na\n', 'a\n'): 'a\n' 2 6 'a\na\n' -> '' Diff 5 to 1 lines - preference for removing trailing lines: showdiff( 'a\na\na\na\na\n', 'a\n'): 'a\n' 2 10 'a\na\na\na\n' -> ''