|
@@ -0,0 +1,58 @@
|
|
|
+#!/bin/sh
|
|
|
+
|
|
|
+if [ $# -ne 1 ]; then
|
|
|
+ echo >&2 "Usage: $0 PATH"
|
|
|
+ echo >&2 "Show the primary and secondary maintainers for a given path"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+set -e
|
|
|
+
|
|
|
+DEST=$1
|
|
|
+DESTFILE=""
|
|
|
+if [ ! -d $DEST ]; then
|
|
|
+ DESTFILE=$(basename $DEST)
|
|
|
+ DEST=$(dirname $DEST)
|
|
|
+fi
|
|
|
+
|
|
|
+MAINTAINERS=()
|
|
|
+cd $DEST
|
|
|
+while true; do
|
|
|
+ if [ -e ./MAINTAINERS ]; then
|
|
|
+ {
|
|
|
+ while read line; do
|
|
|
+ re='^([^:]*): *(.*)$'
|
|
|
+ file=$(echo $line | sed -E -n "s/$re/\1/p")
|
|
|
+ if [ ! -z "$file" ]; then
|
|
|
+ if [ "$file" = "$DESTFILE" ]; then
|
|
|
+ echo "Override: $line"
|
|
|
+ maintainer=$(echo $line | sed -E -n "s/$re/\2/p")
|
|
|
+ MAINTAINERS=("$maintainer" "${MAINTAINERS[@]}")
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ MAINTAINERS+=("$line");
|
|
|
+ fi
|
|
|
+ done;
|
|
|
+ } < MAINTAINERS
|
|
|
+ fi
|
|
|
+ if [ -d .git ]; then
|
|
|
+ break
|
|
|
+ fi
|
|
|
+ if [ "$(pwd)" = "/" ]; then
|
|
|
+ break
|
|
|
+ fi
|
|
|
+ cd ..
|
|
|
+done
|
|
|
+
|
|
|
+PRIMARY="${MAINTAINERS[0]}"
|
|
|
+PRIMARY_FIRSTNAME=$(echo $PRIMARY | cut -d' ' -f1)
|
|
|
+
|
|
|
+firstname() {
|
|
|
+ echo $1 | cut -d' ' -f1
|
|
|
+}
|
|
|
+
|
|
|
+echo "--- $PRIMARY is the PRIMARY MAINTAINER of $1. Assign pull requests to him."
|
|
|
+echo "$(firstname $PRIMARY) may assign pull requests to the following secondary maintainers:"
|
|
|
+for SECONDARY in "${MAINTAINERS[@]:1}"; do
|
|
|
+ echo "--- $SECONDARY"
|
|
|
+done
|