39 lines
929 B
Text
39 lines
929 B
Text
|
#!/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
|