3 # Script for preparing a release or updating the release branch.
6 # Copyright (c) 2009-2010 Jonas Fonseca <fonseca@diku.dk>
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License as
10 # published by the Free Software Foundation; either version 2 of
11 # the License, or (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
24 TITLE
="$TAG\n$(echo "$TAG" | sed 's/./-/g')"
26 # Require a clean repository.
27 git update-index
--refresh
28 git diff-index
--quiet HEAD
30 if test -n "$VERSION"; then
31 # Get a sane starting point.
32 test "$(git symbolic-ref HEAD)" = "refs/heads/master" ||
35 # Update files which should reference the version.
36 echo "$VERSION" > VERSION
37 perl
-pi -e 's/^tig master.*/@@TITLE@@/ms' NEWS
38 perl
-pi -e "s/^@@TITLE@@.*/$TITLE/" NEWS
46 # Create release commit and tag.
47 git commit
-a -m "$TAG"
48 git tag
-s -m "tig version $VERSION" "$TAG"
50 # Prepare release announcement file.
51 .
/contrib
/announcement.sh
"$TAG" > "$TAG.txt"
53 # Set version for the Makefile
54 export DIST_VERSION
="$VERSION"
56 # Get meaningful version for the update message.
60 # Update the release branch.
62 HEAD
="$(git rev-parse release)"
64 if test -n "$(git rev-list -1 release ^$HEAD)"; then
65 make distclean doc-man doc-html sysconfdir
=++SYSCONFDIR
++
66 git commit
-a -m "Update for version $TAG"
69 if test -n "$VERSION"; then