Brandon Williams <bmwill@xxxxxxxxxx> writes: > side question if the answer is short: Any reason as to why all of the > pathspec matching code lives inside of dir.c and not pathspec.c? Hysterical Raisins. A pathspec used to be just a "const char **" in simpler times, which was no more elaborate than "argv + i" (i.e. after parsing options and revisions out, the remainders are pathspec elements). Major part of the matching was done inside dir.c and we haven't had chance to look at the larger picture to move the code around.