On Tue, Mar 24, 2015 at 7:46 PM, <mdc...@seznam.cz> wrote: > Duy, you wrote: > > "This is true. To elaborate, if we have to recurse in excluded directories so > that we can include some back, then the reason for excluding is already > defeated as we may need to traverse the entire directory structure. However > in this particular case where we do know in advance that only certain > directories may have "re-include" rules, e.g. "db", "reports" or "scripts", > we could keep going for a while." > > ... so according to that it sounds like including /db, /reports, /scripts > should actually also NOT work. But it does work - i.e. when I add the > following: > > # exclude > /* > > # except > !/db > !/reports > !/scripts > > then any content within those 3 directories (and their sub directories) is > included and not ignored... > > It ONLY does not work when I add more levels - e.g.: > > !/reports/something > > In this case neither /reports nor /reports/something or any sub directory is > included.
Yes. It's the subtlety of optimizing ;-) If you read the man page really carefully (*), "if the _parent_ directory of that file(**) is excluded" and the parent of these three directories is _not_ excluded. (*) I'm not saying this is a good thing. Only docs such as language spec or RFCs need that level of attention. But I'm not a good document writer myself, can't blame others. Improvements are welcome though. (**) "that file" should be "that file or directory" but I guess simplification here is ok -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html