hack/generate-authors.sh: refactor and simplify
#!/usr/bin/env bash
+
set -e
-cd "$(dirname "$(readlink -f "$BASH_SOURCE")")/.."
+SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ROOTDIR="$(git -C "$SCRIPTDIR" rev-parse --show-toplevel)"
+
+set -x
# see also ".mailmap" for how email addresses and names are deduplicated
+cat > "${ROOTDIR}/AUTHORS" <<- EOF
+ # File @generated by hack/generate-authors.sh. DO NOT EDIT.
+ # This file lists all contributors to the repository.
+ # See hack/generate-authors.sh to make modifications.
-{
- cat <<- 'EOH'
- # This file lists all individuals having contributed content to the repository.
- # For how it is generated, see `hack/generate-authors.sh`.
- EOH
- echo
- git log --format='%aN <%aE>' | LC_ALL=C.UTF-8 sort -uf
-} > AUTHORS
+ $(git -C "$ROOTDIR" log --format='%aN <%aE>' | LC_ALL=C.UTF-8 sort -uf)
+EOF
