Code

Add script for preparing release announcements
authorJonas Fonseca <fonseca@diku.dk>
Mon, 15 Sep 2008 19:23:26 +0000 (21:23 +0200)
committerJonas Fonseca <fonseca@diku.dk>
Mon, 15 Sep 2008 19:23:57 +0000 (21:23 +0200)
contrib/announcement.sh [new file with mode: 0755]

diff --git a/contrib/announcement.sh b/contrib/announcement.sh
new file mode 100755 (executable)
index 0000000..e32c979
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Prepare the content of the next tig release announcement.
+# Usage: $0 [revision]
+#
+# Copyright (c) 2008 Jonas Fonseca <fonseca@diku.dk>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+root="$(git rev-parse --show-cdup)"
+NEWS="${root}NEWS"
+SITES="${root}SITES"
+from="$(sed -n '7,/^tig-/p' < "$NEWS" | tail -n 1 | cut -d' ' -f 1)"
+to="${1-HEAD}"
+
+cat <<EOF
+$to
+$(echo "$to" | sed 's/[0-9a-zA-Z.-]/=/g')
+
+*** text for the announcement ***
+
+What is tig?
+------------
+Tig is an ncurses-based text-mode interface for git. It functions mainly
+as a git repository browser, but can also assist in staging changes for
+commit at chunk level and act as a pager for output from various git
+commands.
+
+$(sed -n '/-/p' < "$SITES" | sed 's/[[(].*//')
+
+Release notes
+-------------
+$(sed -n '7,/^tig-/p' < "$NEWS" | sed '/^tig-/d')
+
+Change summary
+--------------
+The diffstat and shortlog summary for changes made in this release.
+
+$(git shortlog -s $from..$to)
+
+$(git diff-tree --stat=72 $from..$to)
+EOF