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

Reply via email to