This is a line-for-line port of the subset of LibXDiff which relates to sliding within-line diffs to account for brackets, quotes, etc.
The heuristics used to develop the weights are available at mhagger/diff-slider-tools
.
The exact lines translated are lines 438-677 of the xdiffi.c
file as it existed in git/git
on August 17 2018. As of Oct 20 2020, none of the changes in upstream have affected the lines we care about.
Originally translated to java on August 30 2019, but it sat dormant on a local branch for too long.
- Thanks Davide Libenzi for writing the part of LibXDiff which we use.
- Thanks to Michael Haggerty for developing the heuristic weightings.