summaryrefslogtreecommitdiff
path: root/git-difftool--helper.sh
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2012-02-13 17:36:36 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-02-13 15:57:06 -0800
commit34d9819e0a387be6d49cffe67458036450d6d0d5 (patch)
treed11fc079858328ca3ec4abe51f7a7cd48211c4b0 /git-difftool--helper.sh
parentdiff-highlight: refactor to prepare for multi-line hunks (diff)
downloadtgif-34d9819e0a387be6d49cffe67458036450d6d0d5.tar.xz
diff-highlight: match multi-line hunks
Currently we only bother highlighting single-line hunks. The rationale was that the purpose of highlighting is to point out small changes between two similar lines that are otherwise hard to see. However, that meant we missed similar cases where two lines were changed together, like: -foo(buf); -bar(buf); +foo(obj->buf); +bar(obj->buf); Each of those changes is simple, and would benefit from highlighting (the "obj->" parts in this case). This patch considers whole hunks at a time. For now, we consider only the case where the hunk has the same number of removed and added lines, and assume that the lines from each segment correspond one-to-one. While this is just a heuristic, in practice it seems to generate sensible results (especially because we now omit highlighting on completely-changed lines, so when our heuristic is wrong, we tend to avoid highlighting at all). Based on an original idea and implementation by MichaƂ Kiedrowicz. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-difftool--helper.sh')
0 files changed, 0 insertions, 0 deletions