diff options
author | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-09-30 23:20:43 +0000 |
---|---|---|
committer | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-09-30 23:20:43 +0000 |
commit | 1beb24a61c01607c04a284e450916d76854b4bfd (patch) | |
tree | 252a4dee032d92ed2bcbc8aa6f54d83d382cb10e | |
parent | eccd9059d31ab67308dbd17c262fd9e5cdca4754 (diff) | |
download | openocd+libswd-1beb24a61c01607c04a284e450916d76854b4bfd.tar.gz openocd+libswd-1beb24a61c01607c04a284e450916d76854b4bfd.tar.bz2 openocd+libswd-1beb24a61c01607c04a284e450916d76854b4bfd.tar.xz openocd+libswd-1beb24a61c01607c04a284e450916d76854b4bfd.zip |
Improve release script version tag management commands.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2787 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rwxr-xr-x | tools/release.sh | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/tools/release.sh b/tools/release.sh index de0946b7..106799ce 100755 --- a/tools/release.sh +++ b/tools/release.sh @@ -282,9 +282,10 @@ do_version_usage() { usage: $0 version <command> Version Commands: tag {add|remove} <label> Add or remove the specified tag. - bump {major|minor|micro|rc} Bump the specified version number; - resets less-significant numbers to zero. - All but 'rc' releases drop that tag. + bump {major|minor|micro} Bump the specified version number, and + reset less-significant numbers to zero. + bump tag <label> Add or bump a versioned tag (e.g. -rcN). + bump final <label> Remove a versioned tag (e.g. -rcN). USAGE } @@ -319,7 +320,7 @@ do_version_bump_tag() { [ "${TAG}" ] || die "TAG argument is missing" local TAGS="${PACKAGE_VERSION_TAGS}" if has_version_tag "${TAG}"; then - local RC=$(echo ${TAGS} | perl -ne "/-${TAG}"'(\d+)/ && print $1') + local RC=$(do_version_tag_value "${TAG}") RC=$((${RC} + 1)) TAGS=$(echo ${TAGS} | perl -npe "s/-${TAG}[\\d]*/-${TAG}${RC}/") else @@ -328,12 +329,17 @@ do_version_bump_tag() { PACKAGE_VERSION_TAGS="${TAGS}" do_version_bump_sed "${PACKAGE_VERSION_BASE}" } -do_version_bump_rc() { do_version_bump_tag 'rc'; } +do_version_bump_final() { + local TAG="$1" + [ "${TAG}" ] || die "TAG argument is missing" + has_version_tag "${TAG}" || die "-${TAG} tag is missing" + do_version_tag_remove "${TAG}$(do_version_tag_value "${TAG}")" +} do_version_bump() { CMD="$1" shift case "${CMD}" in - major|minor|micro|rc|tag) + major|minor|micro|final|tag) eval "do_version_bump_${CMD}" "$@" ;; *) @@ -345,7 +351,10 @@ do_version_bump() { has_version_tag() { test "${PACKAGE_VERSION/-${1}/}" != "${PACKAGE_VERSION}" } - +do_version_tag_value() { + local TAG="$1" + echo ${PACKAGE_VERSION_TAGS} | perl -ne "/-${TAG}"'(\d+)/ && print $1' +} do_version_tag_add() { local TAG="$1" has_version_tag "${TAG}" && \ |