On Fri, Sep 21, 2018 at 05:57:33PM +0200, Nguyễn Thái Ngọc Duy wrote: > diff --git a/diff.c b/diff.c > index 140d0e86df..5256b9eabc 100644 > --- a/diff.c > +++ b/diff.c > @@ -2093,23 +2093,25 @@ static void diff_words_flush(struct emit_callback *ecbdata) > } > } > > -static void diff_filespec_load_driver(struct diff_filespec *one) > +static void diff_filespec_load_driver(struct diff_filespec *one, > + struct index_state *istate) I hadn't looked at this topic until today, when I tried merging next with some of my other local bits and ran into conflicts. I found the idea of passing index_state here, rather than the whole "struct repository", a bit curious. I get why you're doing it: your topic here only cares about removing index dependencies, so you did the minimal thing to move that forward. But if you think about what this function is doing, it is quite clearly dependent on the whole repository, since the userdiff config we're looking up may come from repo config. So I think in the long run this probably should take a repository argument, and use r->index instead of a separate istate argument. That said, I'm not totally opposed to taking this incremental step and letting somebody later sort out the config portions. I wonder if it would be worth calling that out in the commit message to help that later person. But I guess it is a bit late if this is already in next. Maybe this email will serve the same purpose. :) -Peff