This is a version based on Jacobs v2, with the same fixes as in his v3 (hopefully), changing the heuristic, such that CRLF confusion might be gone. TODO: * add some tests * think about whether we need a git attribute or not (I did some thinking, and if we do need to configure this at all, this is where I would put it) Later on we want to have git attributes I'd think. For now let's just keep the `git config diff.shortestlineheuristic true` config option for testing? Changes since Jacobs v2: * s/empty line/shortest line/g That new heuristic is a superset of the empty line heuristic as empty lines are shortest lines. This solves the "What is an empty line?" question (Think of CRLF vs LF) * fixed Jacobs rebase mistake (which is also fixed in Jacobs v3) Changes since my v1: * rename xdl_hash_and_recmatch to recs_match * remove counting empty lines in the first section of the looping Changes since Stefan's v1: * Added a patch to implement xdl_hash_and_recmatch as Junio suggested. * Fixed a segfault in Stefan's patch * Added XDL flag to configure the behavior * Used an int and counted empty lines via += instead of |= * Renamed starts_with_emptyline to is_emptyline * Added diff command line and config options Jacob Keller (1): xdiff: add recs_match helper function Stefan Beller (1): xdiff: implement empty line chunk heuristic Documentation/diff-config.txt | 6 ++++++ Documentation/diff-options.txt | 6 ++++++ diff.c | 11 +++++++++++ xdiff/xdiff.h | 2 ++ xdiff/xdiffi.c | 43 ++++++++++++++++++++++++++++++++++++++---- 5 files changed, 64 insertions(+), 4 deletions(-) -- 2.8.1.189.gd13d43c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html