diff --git a/reference/authors-v1.0.0.md b/reference/authors-v1.0.0.md new file mode 100644 index 0000000..cf546af --- /dev/null +++ b/reference/authors-v1.0.0.md @@ -0,0 +1,50 @@ +# v1.0.0 Authors + +⚠️ Do not edit this file directly. +It is [auto-generated](../scripts/authors-by-version.sh) from Git history of source files in this repo. + +ℹ️ Note this is purely a convenience for referencing in academic papers. +See the full Git history of specific files for additional context. + +## Authors List + +- Andrew Block +- Brian Fox +- Brian Fox +- Brice Fernandes +- Cansu Kavılı Örnek +- Carlos Santana +- Carlos Santana +- Chris Sanders +- Chris Short +- Christian Hernandez +- Cornelia Davis +- Dan Garfield +- Daniel Warner +- Florian Heubeck +- Ishita Sequeira +- Jesse Butler +- John Pitman +- Kevin Bowersox +- Kingdon Barrett +- Leonardo Murillo +- Leonardo Murillo +- Lloyd Chang +- Lothar Schulz +- Michael Bridgen +- Moshe Immerman +- Nicholas Thomson +- Nicholas Thomson +- Piotr +- Regina Scott +- Robert A Ficcaglia +- Roberth Strand +- Schlomo Schapiro +- Scott Rigby +- Sean Sundberg +- Shoubhik Bose +- Timothy Lin +- Toni Menzel +- William Caban +- William Chia +- lloydchang diff --git a/scripts/authors-by-version.sh b/scripts/authors-by-version.sh new file mode 100755 index 0000000..3ed5476 --- /dev/null +++ b/scripts/authors-by-version.sh @@ -0,0 +1,99 @@ +#!/bin/bash + +# Example usage: +# mkdir -p reference +# for VERSION in v1.0.0 HEAD; do +# ./scripts/authors-by-version.sh $VERSION > reference/authors-$VERSION.md +# done + +# Authors, comitters, co-authors +get_authors() { + local git_tag="$1" + shift # Shift arguments to get the files + local files="$*" + # shellcheck disable=SC2086 + git --no-pager log "$git_tag" -- $files | \ + sed -n -e 's/^Author: //p' -e 's/^Committer: //p' -e 's/^.*Co-authored-by: //p' | \ + sort -u | sed -e 's/^/- /' +} + +# Ensure tag argument is provided +GIT_TAG=$1 + +if [[ -z ${GIT_TAG} ]]; then + echo "Usage: $0 " + exit 1 +fi + +if [ ! "$(git tag -l "$GIT_TAG")" ] && [ ! "$GIT_TAG" == "HEAD" ]; then + echo " '$GIT_TAG' does not exist" + exit 1 +fi + +# Check if translations +git show "$GIT_TAG":i18n > /dev/null 2>&1 && i18n=true || i18n=false + + +# Output +cat <