Duy Nguyen <pclouds@xxxxxxxxx> writes: > The series updated match_pathspec(), but that's only one of two > pathspec filtering functions. The other is tree_entry_interesting() > (e.g. for "git grep <tree>"). Do you have plans to support :(attr) > there too? "No" is a perfectly fine answer (and it will end up in my > forever growing backlog). > > The thing about tree_entry_interesting() is, we would want to stop > traversing subtrees as soon as possible. Naively implemented, we would > need to traverse all subtrees so we can call match_attrs(). That's not > great. Oii I'm rambling.. I don't know yet how to implement this thing > efficiently. Thanks for great insights. It indeed will become issue when an overly broad pathspec pattern is combined with an attribute requirement, e.g. ".:(attr=X)", and we may have to devise a way to tell that there won't be any paths with that satisfy the attribute requirement before descending into a tree as an optimization.