]> git.ipfire.org Git - thirdparty/git.git/commit - xdiff-interface.c
diff: use hunk callback for word-diff
authorJeff King <peff@peff.net>
Fri, 2 Nov 2018 06:37:18 +0000 (02:37 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Nov 2018 04:14:35 +0000 (13:14 +0900)
commit7c61e25fbf1a4a65208be1197940a383f220a1b7
tree71ec85c998587ae798a4b30f5c154225a5041ec0
parentb135739125e9dc49fafc42d4a8a1956c46329ff1
diff: use hunk callback for word-diff

Our word-diff does not look at the -/+ lines generated by xdiff at all
(because they are not real lines to show the user, but just the
tokenized words split into lines). Instead we use the line numbers from
the hunk headers to index our own data structure.

As a result, our xdi_diff_outf() callback throws away all lines except
hunk headers. We can instead use a hunk callback, which has two
benefits:

  1. We don't have to re-parse the generated hunk header line, but can
     use the passed parameters directly.

  2. By setting our line callback to NULL, we can tell xdiff-interface
     that it does not even need to bother generating the other lines,
     saving a small amount of work.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
xdiff-interface.c