Directory names grep skips at any depth while searching.
.git is skipped by default: it holds compressed object packs that cannot
hold a useful literal match yet make up most of a repository's bytes, so
searching a checkout reads it in full. Subclasses can extend the tuple (for
example with node_modules) or set it to () to search everything. A
search rooted at one of these directories still searches it.