| #!/bin/sh |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| # use this file except in compliance with the License. You may obtain a copy of |
| # the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations under |
| # the License. |
| |
| function get_contributors { |
| local OS=`uname -s` |
| case "$OS" in |
| Linux|CYGWIN*) # GNU sed |
| local SED_ERE_FLAG=-r |
| ;; |
| *) # BSD sed |
| local SED_ERE_FLAG=-E |
| ;; |
| esac |
| |
| local CONTRIB_EMAIL_SED_COMMAND="s/^[[:blank:]]{5}[[:digit:]]+[[:blank:]]/ * /" |
| if [ "$1" == "couchdb-main-repo" ] |
| then |
| git shortlog -se 6c976bd..HEAD \ |
| | grep -v @apache.org \ |
| | sed $SED_ERE_FLAG -e "$CONTRIB_EMAIL_SED_COMMAND" |
| else |
| cd src/$1 |
| git shortlog -se HEAD \ |
| | grep -v @apache.org \ |
| | sed $SED_ERE_FLAG -e "$CONTRIB_EMAIL_SED_COMMAND" |
| cd .. && cd .. |
| fi |
| } |
| |
| function print_comitter_list { |
| # list of external repos that we exclude |
| local EXCLUDE=("goldrush" "ibrowse" "jiffy" "lager" "meck" "mochiweb" "snappy") |
| local EXCLUDE=$(printf "\|%s" "${EXCLUDE[@]}") |
| local EXCLUDE=${EXCLUDE:2} |
| local SUBREPOS=$(ls src/ | grep -v "$EXCLUDE") |
| |
| if test -e .git; then |
| |
| { |
| for i in $SUBREPOS; do |
| get_contributors $i |
| done; |
| get_contributors "couchdb-main-repo" |
| } | git check-mailmap --stdin | awk ' |
| BEGIN { |
| } |
| { |
| $1 = ""; |
| persons[$0] = $0; |
| } |
| END { |
| for (i in persons) { |
| print persons[i]; |
| } |
| }' |
| fi |
| } |