On Sat, Apr 10, 2010 at 11:27:39AM -0700, Junio C Hamano wrote: > > ... But finding every file means > > we have to traverse areas that git otherwise wouldn't look at, which > > might mean going to disk to pull in all of the "foo/" directory > > structure (which is less likely to be cached, since the rest of git > > isn't touching it), even though it may not even be of interest to us. > > Yes, that is why it is adequate for us use COLLECT_IGNORED in "git add" > and give "foo/ is outside---you as an intelligent human should be able to > infer that your foo/bar is also" without double traversal. It would be adequate here, too, if we want to know whether a specific file is ignored. It just takes more work from the caller. But Eric has already said he would prefer to just get all files, so let's go with what you wrote. If another caller wants a more restricted but efficient interface later, we can add it as you suggest (or more likely, they want to check a particular _set_ of files, so we don't want to do a full traversal anyway. We would want to get their list of candidates and traverse just enough of the .gitignore stack to get answers for their set). -Peff -- 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