blob: 34c466e58a1ca8d0524a2ae92c40315e2cd26751 (
plain) (
tree)
|
|
#!/bin/sh
set -e # strict errors
set -u # don't expand unbound variables
set -f # disable pathname expansion
set -C # noclobber
\unalias -a # no command surprises
export LC_ALL=C # no locale headaches
unset IFS # no field splitting surprises
RELPATH=${0%/*}
: RELPATH=${RELPATH:-.}
CHANGELOG=${RELPATH}/../debian/changelog
ROOTDIR=${RELPATH}/..
GIT="$(command -v git)"
changelog() {
if [ ! -f ${CHANGELOG} ]; then
printf -- "${CHANGELOG}: No such file\n" >&2
exit 1
fi
cat ${CHANGELOG}
}
usage() {
cat <<-EOF
usage: ${0##*/} [-h] version|author|commit
-h print this usage message
version most recent package version number
author author of most recent log message
commit Git hash of most recent commit
Report bugs to <william@25thandClement.com>
EOF
}
while getopts h OPT; do
case "${OPT}" in
h)
usage
exit 0
;;
*)
usage >&2
exit 1
;;
esac
done
shift $(($OPTIND - 1))
case "${1:-version}" in
version)
changelog | sed -ne '
s/.*(\([1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*).*/\1/
t Found
d
:Found
p
q
'
;;
author)
changelog | sed -ne '
s/.*<\([^>]*@[^>]*\)>.*/\1/
t Found
d
:Found
p
q
'
;;
commit)
test -n "${GIT}" -a -d ${ROOTDIR}/.git || exit 1
cd ${ROOTDIR}
${GIT} show --pretty='%H' HEAD 2>/dev/null | sed -n '1p'
;;
*)
usage >&2
exit 1
;;
esac
exit 0
|