| #!/bin/sh | |
| # SPDX-License-Identifier: GPL-2.0-or-later | |
| missing=0 | |
| present=0 | |
| grep -E '^(R|M):' MAINTAINERS | \ | |
| sed -E -e 's/^(M|R): //' -e 's/ <.*//' | \ | |
| sort | uniq > names.txt | |
| while IFS= read -r NAME | |
| do | |
| grep "$NAME" .gitlab-map-{auto,manual} > /dev/null | |
| if test $? != 0 | |
| then | |
| echo "Missing GitLab handle for maintainer '$NAME'" | |
| missing=$(($missing + 1)) | |
| else | |
| present=$(($present + 1)) | |
| fi | |
| done < names.txt | |
| rm -f names.txt | |
| echo "GitLab handles missing: $missing / present: $present" | |
| # .gitlab-map-manual is to provide alternate real names | |
| # for cases where name in MAINTAINERS does not match | |
| # the GitLab account real name. As such... | |
| # ...all gitlab handles in .gitlab-map-manual must also exist | |
| # in .gitlab-map-auto and .... | |
| for HANDLE in $(grep -v '^#' .gitlab-map-manual | awk '{print $1}') | |
| do | |
| grep -E "^$HANDLE\s" .gitlab-map-auto >/dev/null | |
| if test $? != 0 | |
| then | |
| echo "Unexpected GitLab handle '$HANDLE' is not a member" | |
| fi | |
| done | |
| # ...and all realnames in .gitlab-map-manual must also | |
| # exist in MAINTAINERS | |
| grep -v '^#' .gitlab-map-manual | \ | |
| awk '{ $1 = ""; print substr($0, 2) }' | \ | |
| while IFS= read -r NAME | |
| do | |
| grep -E "\s$NAME\s" MAINTAINERS >/dev/null | |
| if test $? != 0 | |
| then | |
| echo "Unexpected real name '$NAME' is not a maintainer" | |
| fi | |
| done |