summaryrefslogtreecommitdiff
path: root/release/bugs
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2010-10-04 14:33:16 -0400
committerDana Jansens <danakj@orodu.net>2012-09-30 15:24:50 -0400
commit3aee1ac3a199a40020e204e42ed9a48e2f4e1404 (patch)
tree3ad69a4a2ef254394cf3174b80f21942e7b9065a /release/bugs
parent52cdea653c9b3a7055bca40e4019f599d9291bb6 (diff)
Create some Openbox release scripts
release/bugs: Prints a list of bugs that are mentioned in git commits for a git revision, since previous release. - Very useful for updating the CHANGELOG file! release/go: Tests a git revision for correct compilation, and prepares files for release. - Makes the tarball - Makes a GPG signature for the tarball - Tags the release - Spits out URLs to edit and gives the changelog for copy/paste. release/email: Sends an email to the Openbox mailing list with the changelog and details about the release. Call this with the same parameters used for running release/go once it is finished, and the files are uploaded, etc. - Also emails mikachu re freshmeat.net
Diffstat (limited to 'release/bugs')
-rwxr-xr-xrelease/bugs38
1 files changed, 38 insertions, 0 deletions
diff --git a/release/bugs b/release/bugs
new file mode 100755
index 00000000..f36a7aa9
--- /dev/null
+++ b/release/bugs
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+help() {
+ echo "Usage: $0 <revision> [lastrelease]"
+ echo
+ echo " <revision> The revision which should be used for release."
+ echo " [lastrelease] The revision of the most recent release made."
+ echo " By default it uses the most recent release-tag."
+ exit 1
+}
+
+error() {
+ echo "error: $1"
+ exit 1
+}
+
+test -e "./openbox/openbox.c" || \
+ error "must be run from the project's top level directory"
+
+REV="$1"
+test -z "$REV" && help
+RELEASE_SHA=$(git rev-parse "$REV")
+test $? = 0 || error "revision $REV not found"
+
+LAST="$2"
+if test -z "$LAST"; then
+ LAST=$(git describe --match 'release-*' $REV)
+ test $? = 0 || \
+ error "unable to find last release"
+fi
+
+#### CHANGELOG #####
+git log --no-merges $LAST..$REV --oneline|egrep '[bB][uU][Gg] #?[0-9]+'
+git log --no-merges $LAST..$REV --oneline | \
+ perl -n -e'/[bB][uU][Gg] #?([0-9]+)/ && print "#$1, "'
+perl -e'print "\b\b \n"'
+
+exit 0