Currently clean-includes supports two ways of specifying files to check:
* --all to run on everything
* specific files
There's no way to say "check everything in target/arm".
Add support for handling directory names, by always running
the arguments through git ls-files.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
scripts/clean-includes | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/scripts/clean-includes b/scripts/clean-includes
index 25dbf16c02..07c0fd44e4 100755
--- a/scripts/clean-includes
+++ b/scripts/clean-includes
@@ -14,7 +14,7 @@
# the top-level directory.
# Usage:
-# clean-includes [--git subjectprefix] [--check-dup-head] file ...
+# clean-includes [--git subjectprefix] [--check-dup-head] file-or-dir ...
# or
# clean-includes [--git subjectprefix] [--check-dup-head] --all
#
@@ -28,7 +28,8 @@
#
# Using --all will cause clean-includes to run on the whole source
# tree (excluding certain directories which are known not to need
-# handling).
+# handling). This is equivalent to passing '.' as the directory to
+# scan.
# This script requires Coccinelle to be installed.
@@ -86,11 +87,14 @@ if [ $# -eq 0 ]; then
exit 1
fi
+# --all means "scan everything starting from the current directory"
if [ "$1" = "--all" ]; then
- # We assume there are no files in the tree with spaces in their name
- set -- $(git ls-files '*.[ch]' | grep -E -v "$XDIRREGEX")
+ set -- '.'
fi
+# We assume there are no files in the tree with spaces in their name
+set -- $(git ls-files "$@" | grep '\.[ch]$' | grep -E -v "$XDIRREGEX")
+
# Annoyingly coccinelle won't read a scriptfile unless its
# name ends '.cocci', so write it out to a tempfile with the
# right kind of name.
--
2.47.3