25 lines
509 B
Bash
25 lines
509 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
outfile="CONTRIBUTORS"
|
||
|
tmpfile="CONTRIBUTORS.tmp"
|
||
|
cp "${outfile}" "${tmpfile}"
|
||
|
|
||
|
# Make sure the email address of every contributor is listed
|
||
|
git shortlog -sne | while read line; do
|
||
|
name=$(perl -pe 's/\d+\s+//' <<<"${line}")
|
||
|
email=$(grep -Po '(?<=<).*(?=>)' <<<"${name}")
|
||
|
if ! grep -q "${email}" "${outfile}"; then
|
||
|
echo "${name}" >> "${tmpfile}"
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
# Sort entries
|
||
|
(
|
||
|
sed -ne '1,5p' "${tmpfile}"
|
||
|
sed -ne '1,5!p' "${tmpfile}" | sort
|
||
|
) > "${outfile}"
|
||
|
|
||
|
rm -f "${tmpfile}"
|