diff options
author | Daniel Stenberg <daniel@haxx.se> | 2015-05-27 16:10:08 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2015-05-27 16:10:08 +0200 |
commit | 44fe4b90290e8eab671aa2cf3d8d04b0ac6fd3e8 (patch) | |
tree | a1cbe76edac309689a54f956342331b7a4505b32 /scripts/contributors.sh | |
parent | 9972666b47d92bc9d7502e91ea49f1838ce61ce6 (diff) | |
download | curl-44fe4b90290e8eab671aa2cf3d8d04b0ac6fd3e8.tar.gz |
scripts: moved contributors.sh and contrithanks.sh into subdir
Diffstat (limited to 'scripts/contributors.sh')
-rwxr-xr-x | scripts/contributors.sh | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/scripts/contributors.sh b/scripts/contributors.sh new file mode 100755 index 000000000..0840bfab0 --- /dev/null +++ b/scripts/contributors.sh @@ -0,0 +1,88 @@ +#!/bin/sh +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) 2013-2015, Daniel Stenberg, <daniel@haxx.se>, et al. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://curl.haxx.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +########################################################################### + +# +# This script shows all mentioned contributors from <hash> until HEAD. To aid +# when writing RELEASE-NOTES and THANKS. +# +# Use --releasenotes to also include the names from the existing RELEASE-NOTES +# file, which is handy when we've added names manually in there that should be +# included in an updated list. +# + +start=$1 + +if test -z "$start"; then + echo "Usage: $0 <since this tag/hash> [--releasenotes]" + exit +fi + +# filter out Author:, Commit: and *by: lines +# cut off the email parts +# split list of names at comma +# split list of names at " and " +# cut off spaces first and last on the line +# filter alternatives through THANKS-filter +# only count names with a space (ie more than one word) +# sort all unique names +# awk them into RELEASE-NOTES format +( +git log $start..HEAD | \ +egrep -i '(Author|Commit|by):' | \ +cut -d: -f2- | \ +cut '-d<' -f1 | \ +tr , '\012' | \ +sed 's/ and /\n/' | \ +sed -e 's/^ //' -e 's/ $//g' + +if echo "$*" | grep -qw -- '--releasenotes';then + # if --releasenotes was used + # grep out the list of names from RELEASE-NOTES + # split on ", " + # remove leading white spaces +grep "^ [^ \(]" RELEASE-NOTES| \ +sed 's/, */\n/g'| \ +sed 's/^ *//' +fi +)| \ +sed -f ./docs/THANKS-filter | \ +grep ' ' | \ +sort -fu | \ +awk '{ + num++; + n = sprintf("%s%s%s,", n, length(n)?" ":"", $0); + #print n; + if(length(n) > 78) { + printf(" %s\n", p); + n=sprintf("%s,", $0); + } + p=n; + +} + + END { + printf(" %s\n", p); + printf(" (%d contributors)\n", num); + } + +' |