From 3aee1ac3a199a40020e204e42ed9a48e2f4e1404 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 4 Oct 2010 14:33:16 -0400 Subject: 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 --- release/bugs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 release/bugs (limited to 'release/bugs') 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 [lastrelease]" + echo + echo " 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 -- cgit v1.2.3