summaryrefslogtreecommitdiffstats
path: root/tools/update-thanks
blob: 27932f945a736122b5627f85d3f17ce25cb85d81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/sh

# Copyright (c) 2014 Monitoring Plugins Development Team
#
# Originally written by Holger Weiss <holger@zedat.fu-berlin.de>.
#
# This file is free software; the Monitoring Plugins Development Team gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY, to the extent permitted by law; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

set -e
set -u

tempfile=$(mktemp '/tmp/.plugins.XXXXXX')
trap 'rm -f $tempfile' EXIT INT TERM

if [ ! -e THANKS.in ]
then
	echo >&2 'Please change into the "monitoring-plugins" repository.'
	exit 2
fi

case $# in
	1) since=$1; git cat-file -e "$since";;
	0) since=$(git tag -l 'v*' | tail -n 1);;
	*) echo >&2 "Usage: $0 [<since>]"; exit 2;;
esac

git log --pretty='%an' "$since.." | sort -u | while read first last rest
do
	if [ -n "$first" -a -n "$last" -a -z "$rest" ]
	then
		if ! grep -q "^$first $last$" AUTHORS THANKS.in
		then
			echo "$first $last" >> THANKS.in
		fi
	else
		echo "$first $last $rest" | sed 's/ *$//' >> "$tempfile"
	fi
done

if ! git diff --quiet THANKS.in
then
	echo 'Please check/commit the changes in the THANKS.in file.'
fi

if [ -s "$tempfile" ]
then
	echo 'The following authors were NOT added to the THANKS.in file:'
	echo
	cat "$tempfile"
fi