On Wed, Mar 21, 2018 at 7:50 AM, Jeff King <peff@xxxxxxxx> wrote: > On Tue, Mar 20, 2018 at 05:41:52PM +0100, Duy Nguyen wrote: > >> > +The rules by which the pattern matches paths are the same as in >> > +`.gitignore` files (see linkgit:gitignore[5]), with a few exceptions: >> > + >> > + - negative patterns are forbidden >> >> After 8b1bd02415 (Make !pattern in .gitattributes non-fatal - >> 2013-03-01) maybe we could use the verb "ignored" too instead of >> "forbidden" > > Makes sense. The original is already in 'next', so do you want to send > an incremental patch? It's up to you. After all it's you who's doing all the work :) >> > + pointless in an attributes file; use `path/**` instead) >> >> We probably could do this internally too (converting "path/" to >> "path/**") but we need to deal with corner cases (e.g. "path" without >> the trailing slash, but is a directory). So yes, suggesting the user >> to do it instead may be easier. > > Yeah, I almost suggested that, but I worried about those corner cases. > It seems like documenting the current behavior is the right first step > in any case. Agreed. > One other maybe-difference I came across coincidentally today: you have > to quote the pattern in .gitattributes if it contains spaces, but not in > .gitignore. But that's more an artifact of the rest of the file syntax > than the pattern syntax (.gitignore has no other fields to confuse it > with). Yeah I forgot about that (and I was the one who started it). The document was updated in 860a74d9d9 (attr: support quoting pathname patterns in C style - 2017-01-27) though. -- Duy