blob: f6abc4c7819cc51daa8d547939d70b4cd4b9558d [file] [log] [blame]
#!/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=("bear" "folsom" "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
}