From 8339e28cfef69cef43f49e1bb2cd5abc41a52931 Mon Sep 17 00:00:00 2001 From: David Adam Date: Sat, 4 Feb 2017 20:56:19 +0800 Subject: [PATCH] build_tools/list_committers_since.fish: tool for showing new & returning committers --- build_tools/list_committers_since.fish | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 build_tools/list_committers_since.fish diff --git a/build_tools/list_committers_since.fish b/build_tools/list_committers_since.fish new file mode 100755 index 000000000..64c9ae3a0 --- /dev/null +++ b/build_tools/list_committers_since.fish @@ -0,0 +1,34 @@ +#! /usr/bin/env fish + +set TAG $argv[1] + +if test -z "$TAG" + echo "Tag name required." + exit 1 +end + +if not contains -- $TAG (git tag) + echo "$TAG is not a valid tag name." + exit 1 +end + +set committers_to_tag (mktemp) +set committers_from_tag (mktemp) + +# You might think it would be better to case-insensitively sort/compare the names +# to produce a more natural-looking list. +# Unicode collation tables mean that this is fraught with danger; for example, the +# "“" character will not case-fold in UTF-8 locales. sort suggests using the C locale! + +git log "$TAG" --format="%aN" --reverse | sort | uniq > $committers_to_tag +git log "$TAG".. --format="%aN" --reverse | sort | uniq > $committers_from_tag + +echo New committers: +echo (comm -13 $committers_to_tag $committers_from_tag)',' + +echo + +echo Returning committers: +echo (comm -12 $committers_to_tag $committers_from_tag)',' + +rm $committers_to_tag $committers_from_tag