"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > diff --git a/diff-lib.c b/diff-lib.c > index 61812f48c2..25fd2dee19 100644 > --- a/diff-lib.c > +++ b/diff-lib.c > @@ -220,8 +220,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option) > } else if (revs->diffopt.ita_invisible_in_index && > ce_intent_to_add(ce)) { > diff_addremove(&revs->diffopt, '+', ce->ce_mode, > - the_hash_algo->empty_tree, 0, > - ce->name, 0); > + &null_oid, 0, ce->name, 0); This (even if the preimage were correctly using empty_blob) is *so* simple a change that it is very surprising that the new test in [2/2] passes without any other code change. It means that difftool was written correctly in the first place, right? Nicely done.