Makefile: exclude test cruft from FIND_SOURCE_FILES

The test directory may contain three types of files that match our patterns: 1. Helper programs in t/helper. 2. Sample data files (e.g., t/t4051/hello.c). 3. Untracked cruft in trash directories and t/perf/build. We want to match (1), but not the other two, as they just clutter up the list. For the ls-files method, we can drop (2) with a negative pathspec. We do not have to care about (3), since ls-files will not list untracked files. For `find`, we can match both cases with `-prune` patterns. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Dec 14, 2016 at 09:28 UTC e6fc85b11f402ababa4b46ec1121a662ce1fce8e
1 file changed +7 -1
Makefile
+7 -1
@@ -2150,9 +2150,15 @@ po/build/locale/%/LC_MESSAGES/git.mo: po/%.po
2150 $(QUIET_MSGFMT)mkdir -p $(dir $@) && $(MSGFMT) -o $@ $<
2151
2152 FIND_SOURCE_FILES = ( \
2153 - git ls-files '*.[hcS]' 2>/dev/null || \
2153 + git ls-files \
2154 + '*.[hcS]' \
2155 + ':!*[tp][0-9][0-9][0-9][0-9]*' \
2156 + 2>/dev/null || \
2157 $(FIND) . \
2158 \( -name .git -type d -prune \) \
2159 + -o \( -name '[tp][0-9][0-9][0-9][0-9]' -type d -prune \) \
2160 + -o \( -name build -type d -prune \) \
2161 + -o \( -name 'trash*' -type d -prune \) \
2162 -o \( -name '*.[hcS]' -type f -print \) \
2163 )
2164