Reroll of sb/diff-color-moved, applies on top of the hashmap patches[1]. * Supports different whitespace modes correctly now (and has a test for trivial white space changes) * The fixups[2] have been squashed. Thanks, Stefan [1] https://public-inbox.org/git/20170629235336.28460-1-sbeller@xxxxxxxxxx/ [2] https://public-inbox.org/git/20170628005651.8110-1-sbeller@xxxxxxxxxx/ Stefan Beller (25): diff.c: readability fix diff.c: move line ending check into emit_hunk_header diff.c: factor out diff_flush_patch_all_file_pairs diff.c: introduce emit_diff_symbol diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF diff.c: migrate emit_line_checked to use emit_diff_symbol diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN] diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS} diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF submodule.c: migrate diff output to use emit_diff_symbol diff.c: convert emit_binary_diff_body to use emit_diff_symbol diff.c: convert show_stats to use emit_diff_symbol diff.c: convert word diffing to use emit_diff_symbol diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY diff.c: buffer all output if asked to diff.c: color moved lines differently diff.c: color moved lines differently, plain mode diff.c: add dimming to moved line detection diff: document the new --color-moved setting Documentation/config.txt | 15 +- Documentation/diff-options.txt | 34 ++ cache.h | 2 + color.h | 2 + diff.c | 1306 ++++++++++++++++++++++++++++++++-------- diff.h | 39 +- submodule.c | 84 ++- submodule.h | 13 +- t/t4015-diff-whitespace.sh | 434 +++++++++++++ 9 files changed, 1613 insertions(+), 316 deletions(-) -- 2.13.0.31.g9b732c453e