Each F or X pattern is checked and printed if there is no match
with a file in the repository.

The wildcard must be temporarily replaced to prevent from shell expansion.

Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 scripts/check-maintainers.sh | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/scripts/check-maintainers.sh b/scripts/check-maintainers.sh
index 2687cad..e62217e 100755
--- a/scripts/check-maintainers.sh
+++ b/scripts/check-maintainers.sh
@@ -88,6 +88,20 @@ parse_fx () # <index file>
        done
 }

+# Check patterns in F: and X:
+check_fx () # <index file>
+{
+       IFS='
+'
+       for line in $(sed -n 's,^[FX]: ,,p' $1 | tr '*' '#') ; do
+               line=$(printf "$line" | tr '#' '*')
+               match=$(files "$line")
+               if [ -z "$match" ] ; then
+                       echo "$line"
+               fi
+       done
+}
+
 # Add a line to a set of lines if it begins with right pattern
 add_line_to_if () # <new line> <lines> <head pattern>
 {
@@ -112,6 +126,10 @@ echo '# files not listed'
 echo '##########'
 aminusb "$all" "$listed"

-# TODO: check patterns that match nothing
+echo '##########'
+echo '# wrong patterns'
+echo '##########'
+check_fx MAINTAINERS
+
 # TODO: check overlaps
 # TODO: check orphan areas
-- 
2.2.2

Reply via email to