1#!/bin/sh 2#*************************************************************************** 3# _ _ ____ _ 4# Project ___| | | | _ \| | 5# / __| | | | |_) | | 6# | (__| |_| | _ <| |___ 7# \___|\___/|_| \_\_____| 8# 9# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 10# 11# This software is licensed as described in the file COPYING, which 12# you should have received as part of this distribution. The terms 13# are also available at https://curl.se/docs/copyright.html. 14# 15# You may opt to use, copy, modify, merge, publish, distribute and/or sell 16# copies of the Software, and permit persons to whom the Software is 17# furnished to do so, under the terms of the COPYING file. 18# 19# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 20# KIND, either express or implied. 21# 22# SPDX-License-Identifier: curl 23# 24########################################################################### 25 26# 27# This script shows all mentioned contributors from <hash> until HEAD and 28# puts them at the end of the THANKS document on stdout 29# 30 31start=$1 32 33if test "$start" = "-h"; then 34 echo "Usage: $0 <since this tag/hash>" 35 exit 36fi 37if test -z "$start"; then 38 start=`git tag --sort=taggerdate | grep "^curl-" | tail -1`; 39fi 40 41 42# We also include curl-www if possible. Override by setting CURLWWW 43if [ -z "$CURLWWW" ] ; then 44 CURLWWW=../curl-www 45fi 46 47cat ./docs/THANKS 48 49( 50 ( 51 git log --use-mailmap $start..HEAD 52 if [ -d "$CURLWWW" ] 53 then 54 git -C ../curl-www log --use-mailmap $start..HEAD 55 fi 56 ) | \ 57 58grep -Eai '(^Author|^Commit|by):' | \ 59cut -d: -f2- | \ 60cut '-d(' -f1 | \ 61cut '-d<' -f1 | \ 62tr , '\012' | \ 63sed 's/ at github/ on github/' | \ 64sed 's/ and /\n/' | \ 65sed -e 's/^ //' -e 's/ $//g' -e 's/@users.noreply.github.com$/ on github/' 66 67# grep out the list of names from RELEASE-NOTES 68# split on ", " 69# remove leading whitespace 70grep -a "^ [^ (]" RELEASE-NOTES| \ 71sed 's/, */\n/g'| \ 72sed 's/^ *//' 73 74)| \ 75sed -f ./docs/THANKS-filter | \ 76grep -a ' ' | \ 77sort -fu | \ 78grep -aixvf ./docs/THANKS 79