diff options
Diffstat (limited to 'make_release')
-rwxr-xr-x | make_release | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/make_release b/make_release new file mode 100755 index 0000000..0072c1c --- /dev/null +++ b/make_release @@ -0,0 +1,45 @@ +#!/bin/sh + +proj="iperf" + +ver=`awk '/IPERF_VERSION / { + gsub(/"/, "", $3); + print $3 }' src/version.h` + +dirname=`echo $ver $proj | awk '{ + gsub(/-ALPHA/, "a", $1); + gsub(/-BETA/, "b", $1); + gsub(/-RELEASE/, "", $1); + print $2"-"$1 }'` + +repo=`svn info | awk '/Repository Root/ { print $3 }'` + +echo repo $repo +echo ver $ver +echo dirname $dirname + +do_tag () +{ + svn ls ${repo}/tags/${ver} >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "tag $ver exists already" + exit 1 + fi + + svn copy -m "tagging $ver" ${repo}/trunk ${repo}/tags/${ver} +} + +do_tar () +{ + svn export ${repo}/tags/${ver} ${dirname} + tar zcvf ${dirname}.tar.gz ${dirname} + rm -rf ${dirname} +} + +case $1 in + tag) do_tag ;; + tar) do_tar ;; + *) echo "unknown command: $1" ;; +esac + +exit |