2 # subdirmk - release script
3 # Copyright various contributors - see top level README.
4 # SPDX-License-Identifier: LGPL-2.0-or-later
5 # There is NO WARRANTY.
9 fail () { echo >&2 "error: $*"; $dryrun exit 1; }
12 -n) dryrun=: ; shift ;;
13 -*) fail "unknown option $1" ;;
16 x () { echo >&2 " $*"; $dryrun "$@"; }
18 head=$(git rev-parse HEAD~0)
19 for branch in master tested; do
20 bv=$(git rev-parse refs/heads/$branch)
21 test $bv = $head || fail "error: HEAD=$head, $branch=$bv"
24 status=$(git status --porcelain --ignored)
25 if [ "$status" ]; then
26 printf >&2 '%s\n' "$status"
27 fail 'tree not sufficiently clean'
33 subdirmk/*) v=${v#subdirmk/} ;;
38 *) fail 'bad version' ;;
42 key=0x559AE46C2D6B6D3265E7CBA1E3E3392348B50D39
44 export GPG_TTY=`tty` # wtf
45 x git tag -s -u $key -m "subdirmk $v" $tag
47 x git push origin master $tag