On Fri, Jun 1, 2012 at 11:03 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Jeff King <peff@xxxxxxxx> writes: > >> No, I don't think anybody is working on it at the moment (at least I >> do not see anything near the time of that old discussion, nor do I >> recall it being discussed since). >> >> +cc Clemens, in case he had any work-in-progress as a result that did >> not end up getting published. > > I think the way the codepath for -i feeds path to excluded() is wrong. > > The excluded() interface relies on the fact that the caller has > already checked foo/ before calling it for foo/bar; when asked to > see if "foo/bar" is excluded, it does not consider if "foo/" is > excluded---the caller should have already checked it. Sparse checkout deals with the exact same problem and it reconstructs a tree structure from cache list, before feeding to excluded(). I thought of generalizing it (e.g. for this case), but with v5 in progress, we'll probably have tree-based index soon. "ls-files -i" could be fixed by then. -- Duy -- 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