github.com/dlintw/docker@v1.5.0-rc4/project/getmaintainer.sh (about) 1 #!/usr/bin/env bash 2 set -e 3 4 if [ $# -ne 1 ]; then 5 echo >&2 "Usage: $0 PATH" 6 echo >&2 "Show the primary and secondary maintainers for a given path" 7 exit 1 8 fi 9 10 set -e 11 12 DEST=$1 13 DESTFILE="" 14 if [ ! -d $DEST ]; then 15 DESTFILE=$(basename $DEST) 16 DEST=$(dirname $DEST) 17 fi 18 19 MAINTAINERS=() 20 cd $DEST 21 while true; do 22 if [ -e ./MAINTAINERS ]; then 23 { 24 while read line; do 25 re='^([^:]*): *(.*)$' 26 file=$(echo $line | sed -E -n "s/$re/\1/p") 27 if [ ! -z "$file" ]; then 28 if [ "$file" = "$DESTFILE" ]; then 29 echo "Override: $line" 30 maintainer=$(echo $line | sed -E -n "s/$re/\2/p") 31 MAINTAINERS=("$maintainer" "${MAINTAINERS[@]}") 32 fi 33 else 34 MAINTAINERS+=("$line"); 35 fi 36 done; 37 } < MAINTAINERS 38 break 39 fi 40 if [ -d .git ]; then 41 break 42 fi 43 if [ "$(pwd)" = "/" ]; then 44 break 45 fi 46 cd .. 47 done 48 49 PRIMARY="${MAINTAINERS[0]}" 50 PRIMARY_FIRSTNAME=$(echo $PRIMARY | cut -d' ' -f1) 51 LGTM_COUNT=${#MAINTAINERS[@]} 52 LGTM_COUNT=$((LGTM_COUNT%2 +1)) 53 54 firstname() { 55 echo $1 | cut -d' ' -f1 56 } 57 58 echo "A pull request in $1 will need $LGTM_COUNT LGTM's to be merged." 59 echo "--- $PRIMARY is the PRIMARY MAINTAINER of $1." 60 for SECONDARY in "${MAINTAINERS[@]:1}"; do 61 echo "--- $SECONDARY" 62 done