aboutsummaryrefslogtreecommitdiffstats
path: root/tools/tag-release
blob: 9e3a0bd081ec934ecfd5ce9a5dc47092fda715c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh

version=""
repo=""
branch=""
push=0

for opt; do
    case "$opt" in
    --ver=*)
        version=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'`
        ;;
    --repo=*)
        repo=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'`
        ;;
    --branch=*)
        branch=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'`
        ;;
    --push)
	push=1
	;;
    --no-push)
        push=0
        ;;
    -*)
	echo "Invalid option: $opt" 1>&2
	exit 1
	;;
    *)
        version=$opt
        ;;
    esac
done

if [ -z "$version" ]; then
    echo "  Usage"
    echo "      $0 --ver=num [--repo=name --branch=name --push]" 1>&2
    echo "  Example"
    echo "      $0 --ver=2.10rc1 --repo=git+ssh://user@repo.or.cz/nasm.git --branch=master --no-push" 1>&2
    echo "  With --no-push the changes are not pushed out to remote repo"
    exit 1
fi

tag="nasm-$version"

echo "$version" > version
git add version
git commit -m "NASM $version"
git tag -a -m "NASM $version" "$tag"

if [ $push = 1 ]; then
    set -x
    git push $repo $branch
    git push $repo $tag
    git push --tags $repo
    set +x
fi