This is the first go at having the git index keep track of the conversion mode and corresponding normalized blob for files. The approach is relatively straight-forward: * struct cache_entry has been extended with two fields, norm_flags and norm_sha1, to keep track of the data. * An accessor function ce_norm_sha1() has been added, which checks that the fields seem valid, and otherwise recalculates them. * run_diff_files() and ce_compare_data() compare against the normalized blob. Still missing is a testsuite, and I may have missed some place that ought to use ce_norm_sha1(). Thanks to Junio C Hamano for the suggestion. Henrik Grubbström (Grubba) (5): sha1_file: Added index_blob(). cache: Added ce_norm_sha1() and related cache_entry fields. cache: Added index extension "NORM". reachable: Made the gc aware of the ce_norm_sha1. cache: Use ce_norm_sha1(). cache.h | 29 +++++++++++++++++++++++++++++ convert.c | 35 +++++++++++++++++++++++++++++++++++ diff-lib.c | 9 ++++++--- reachable.c | 2 ++ read-cache.c | 51 ++++++++++++++++++++++++++++++++++++++++++++------- sha1_file.c | 19 +++++++++++++++++++ 6 files changed, 135 insertions(+), 10 deletions(-) -- 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