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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html