Re: Bug: git ls-files and ignored directories
From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:53:58
On Fri, Jun 1, 2012 at 11:03 PM, Junio C Hamano [off-list ref] wrote:
Jeff King [off-list ref] writes:quoted
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