openbox/release/bugs
Dana Jansens 3aee1ac3a1 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
2012-09-30 15:24:50 -04:00

38 lines
929 B
Bash
Executable file

#!/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