From 13bba763f52114455725de7df12dd85bf107b22e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 9 Jun 2015 10:00:25 -0700 Subject: [PATCH] Add src/etc/add-authors.sh script for managing the AUTHORS.txt file This is the kind of dumb task that gets done a different way every time and is easily automated. --- src/etc/add-authors.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/etc/add-authors.sh diff --git a/src/etc/add-authors.sh b/src/etc/add-authors.sh new file mode 100644 index 00000000000..917053cc205 --- /dev/null +++ b/src/etc/add-authors.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# Copyright 2014 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 or the MIT license +# , at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +# This script, invoked e.g. "add-authors.sh 1.0.0..rust-lang/master", +# will merge new authors into AUTHORS.txt, obeying the mailmap +# file. +# +# After running this script, run `git diff` to manually inspect +# changes. If there are incorrect additions fix it by editing +# .mailmap and re-running the script. + +set -u -e + +range="$1" + +authors_file="./AUTHORS.txt" +tmp_file="./AUTHORS.txt.tmp" +old_authors="$(cat "$authors_file" | tail -n +2 | sed "/^$/d" | sort)" +new_authors="$(git log "$range" --format="%aN <%aE>" | sort | uniq)" + +echo "Rust was written by these fine people:\n" > "$tmp_file" +echo "$old_authors\n$new_authors" | sort | uniq >> "$tmp_file" +mv -f "$tmp_file" "$authors_file"