56 lines
2.1 KiB
Plaintext
56 lines
2.1 KiB
Plaintext
t4220 diff-hunks test fixtures
|
|
==============================
|
|
|
|
trim-divergent-old, trim-divergent-new
|
|
--------------------------------------
|
|
|
|
Two revisions of a single real file, used by t4220-diff-hunks.sh to
|
|
exercise a "trim-divergent" blob pair: one whose diff hunk counts change
|
|
with the amount of context, so the trimmed and untrimmed results
|
|
disagree.
|
|
|
|
They are two versions of git's own t/t6002-rev-list-bisect.sh, taken from
|
|
git.git history around:
|
|
|
|
090af9957c ("t6002: fix use of `expr` with `set -e`",
|
|
Patrick Steinhardt, 2026-04-21)
|
|
|
|
which rewrites `$(expr ...)` arithmetic as `$((...))` and reformats a few
|
|
test_expect_success blocks.
|
|
|
|
trim-divergent-old = 090af9957c^:t/t6002-rev-list-bisect.sh (blob daa009c9a1)
|
|
trim-divergent-new = 090af9957c :t/t6002-rev-list-bisect.sh (blob f2de40b5ed)
|
|
|
|
To regenerate them from any git.git checkout:
|
|
|
|
git show 090af9957c^:t/t6002-rev-list-bisect.sh >trim-divergent-old
|
|
git show 090af9957c:t/t6002-rev-list-bisect.sh >trim-divergent-new
|
|
|
|
Why this pair
|
|
-------------
|
|
|
|
The diff-hunks store records only "trim-stable" pairs: those whose hunks
|
|
are identical whether or not xdiff trims the common head and tail (which
|
|
it does at zero context, in trim_common_tail). This pair is deliberately
|
|
NOT trim-stable:
|
|
|
|
diff -U0 reports 9 added / 6 deleted
|
|
diff -U3 reports 10 added / 7 deleted
|
|
|
|
Because the counts diverge with context, the writer must refuse to record
|
|
this pair and every command must recompute it from the blobs. t4220 uses
|
|
it to prove that the displayed counts stay correct at each context, and
|
|
that a divergent pair is never served from the store. See
|
|
t4220-diff-hunks.sh ("a trim-divergent file is correct at each context"
|
|
and the store-poison test).
|
|
|
|
Why not a synthesized fixture
|
|
-----------------------------
|
|
|
|
The divergence needs real content that makes xdiff's common-tail trimming
|
|
shift a hunk boundary while the added/deleted balance stays equal. A
|
|
minimal hand-written file that reliably triggers the -U0 vs -U3 count
|
|
disagreement has not been found yet; until one is, this real pair is kept
|
|
verbatim. If you synthesize a smaller equivalent, replace these two files
|
|
and delete this note.
|