From 44fe4b90290e8eab671aa2cf3d8d04b0ac6fd3e8 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 27 May 2015 16:10:08 +0200 Subject: scripts: moved contributors.sh and contrithanks.sh into subdir --- scripts/contributors.sh | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100755 scripts/contributors.sh (limited to 'scripts/contributors.sh') 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, , 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 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 [--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); + } + +' -- cgit v1.2.1