From: Stefan Beller Date: Tue, 17 May 2016 03:13:49 GMT Subject: [RFC-PATCHv6 0/4] pathspec attrs [WAS pathspec labels [WAS submodule groups]] Message-ID: <20160517031353.23707-1-sbeller@google.com> This goes on top of origin/jc/attr and is RFC as I did not write tests nor documentation, yet. I wanted to understand Junios series, so I built on top. The meat is in the last patch, which allows for git ls-files :(attr:-text)path/pattern # (ATTR_FALSE) git ls-files :(attr:+text)path/pattern # (ATTR_TRUE) git ls-files :(attr:eol=input)path/pattern # values must match git ls-files :(attr:!text)path/pattern # find patterns with no "text" attribute, i.e. neither FALSE, TRUE or value git ls-files :(attr:text)path/pattern # opposite of !; find files which are TRUE, FALSE or value Of course you can chain them: git ls-files :(attr:text,attr:eol=lf)path/pattern # must match both attr specs. Feedback on the parsing and design welcome, Thanks, Stefan Stefan Beller (4): Documentation: fix a typo pathspec: move long magic parsing out of prefix_pathspec pathspec: move prefix check out of the inner loop pathspec: allow querying for attributes Documentation/gitattributes.txt | 2 +- attr.c | 2 +- attr.h | 2 + dir.c | 49 ++++++++++++ pathspec.c | 172 +++++++++++++++++++++++++++++++--------- pathspec.h | 16 ++++ 6 files changed, 203 insertions(+), 40 deletions(-) -- 2.8.2.401.g9c0faef