summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoan Touzet <wohali@users.noreply.github.com>2017-04-30 16:12:51 -0400
committerGitHub <noreply@github.com>2017-04-30 16:12:51 -0400
commit4e7e9ee8670f9383343fdd5b5c92e5e5f9a2a0a0 (patch)
tree30fdcb11d7dad1d27c76ff1ec6e23339dbfbe695
parentd1b16e28d41020d69d968d3b271c4476af6bde66 (diff)
parentcc5a5521293721fcc512f26dbeb0682970067203 (diff)
downloadcouchdb-4e7e9ee8670f9383343fdd5b5c92e5e5f9a2a0a0.tar.gz
Merge pull request #312 from robertkowalski/build-thanks
build: pull authors out of subrepos
-rwxr-xr-xbuild-aux/print-committerlist.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/build-aux/print-committerlist.sh b/build-aux/print-committerlist.sh
new file mode 100755
index 000000000..7fbb96b7f
--- /dev/null
+++ b/build-aux/print-committerlist.sh
@@ -0,0 +1,68 @@
+#!/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" "oauth" "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
+}