From: Jon Ringle <[email protected]>

Without args, the script will continue to work as it used to for
pengutronix approved releases

But now a custom release can be created if your in a situation where you
need to distribute to a group of developers a needed fix to ptxdist and
you can't wait until the next pengutronix release of ptxdist.

I've personally setup my local ptxdist.git repo to use gitflow-AVH:

[gitflow "branch"]
        master = production
        develop = develop
[gitflow "prefix"]
        feature = feature/
        release = release/
        hotfix = hotfix/
        support = support/
        versiontag = gp-

I will then call this script from the production branch like this:
$ git checkout production
$ ./scripts/make_release.sh gridpoint production release GP -a

and if I need a subsequent release within the same month:
$ git flow release start ptxdist-2014.02.x_GP
$ ./scripts/make_release.sh gridpoint production release GP -a

Signed-off-by: Jon Ringle <[email protected]>
---
 scripts/make_release.sh |   29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/scripts/make_release.sh b/scripts/make_release.sh
index f0d4357..3c8a555 100755
--- a/scripts/make_release.sh
+++ b/scripts/make_release.sh
@@ -2,7 +2,14 @@
 
 set -e
 
-origin=origin
+origin=${1:-origin}
+master=${2:-master}
+stable=${3:-stable}
+suffix=${4:-}
+tagsignopt=${5:--s}
+
+[ -n "${suffix}" ] && suffix="_${suffix}"
+
 v="ptxdist-"
 
 branch="$(git symbolic-ref HEAD)"
@@ -29,23 +36,23 @@ fi
 
 # guess if we're going to make a new or stable release
 case "${branch}" in
-    master)
-       release="${v}$(date +%Y.%m).0"
-       prev_release="${v}*.0"
+    ${master})
+       release="${v}$(date +%Y.%m).0${suffix}"
+       prev_release="${v}*.0${suffix}"
        ;;
-    stable/*)
-       release="${branch##stable/}"
-       release="${release%.x}"
+    ${stable}/*)
+       release="${branch##${stable}/}"
+       release="${release%.x${suffix}}"
        inc="$(git tag -l "${release}.*" | wc -l)"
        if [ ${inc} -eq 0 ]; then
            echo "about to make stable a release for '${release}', but no '.0' 
found" >&2
            exit 1
        fi
-       prev_release="${release}.$((inc - 1))"
-       release="${release}.${inc}"
+       prev_release="${release}.$((inc - 1))${suffix}"
+       release="${release}.${inc}${suffix}"
        ;;
     *)
-       echo "please checkout either master or stable branch" >&2
+       echo "please checkout either ${master} or ${stable} branch" >&2
        exit 1
        ;;
 esac
@@ -70,7 +77,7 @@ log="${tmp}/log"
 printf "${release}\n\n" > "${log}"
 git shortlog "${prev_release}"..HEAD >> "${log}"
 echo "creating tag '${release}'"
-git tag -s -F "${log}" "${release}"
+git tag ${tagsignopt} -F "${log}" "${release}"
 
 # create tarball
 here="$(pwd)"
-- 
1.7.10.4


-- 
ptxdist mailing list
[email protected]

Reply via email to