scripts: check wrong patterns in maintainers file
authorThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 4 Feb 2015 08:51:20 +0000 (09:51 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 9 Feb 2015 14:15:04 +0000 (15:15 +0100)
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@6wind.com>
scripts/check-maintainers.sh

index 2687cad..e62217e 100755 (executable)
@@ -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