1
1
#! /usr/bin/env bash
2
2
3
- # Copyright 2020-2022 Fabian Groffen <[email protected] >
3
+ # Copyright 2020-2023 Fabian Groffen <[email protected] >
4
4
#
5
5
# This program is free software; you can redistribute it and/or modify
6
6
# it under the terms of the GNU General Public License as published by
@@ -49,15 +49,21 @@ BUGFIX=${VERSION#${MAJOR}.${MINOR}.} ; BUGFIX=${BUGFIX%%.*}
49
49
case " ${MODE} " in
50
50
major)
51
51
NEWVERSION=$(( MAJOR + 1 )) .0.0
52
+ FUTUREVERSION=$(( MAJOR + 1 )) .1.0
52
53
;;
53
54
minor)
54
55
NEWVERSION=${MAJOR} .$(( MINOR + 1 )) .0
56
+ FUTUREVERSION=${MAJOR} .$(( MINOR + 2 )) .0
55
57
;;
56
58
bugfix)
57
59
NEWVERSION=${MAJOR} .${MINOR} .$(( BUGFIX + 1 ))
60
+ FUTUREVERSION=${MAJOR} .$(( MINOR + 1 )) .0
58
61
;;
59
62
esac
60
63
64
+ TODAY=$( date +%F)
65
+ EUTODAY=$( date +%d-%m-%Y)
66
+
61
67
# version we store after the release
62
68
RECVERSION=${NEWVERSION} .9999_pre
63
69
@@ -67,6 +73,18 @@ sed -i.release \
67
73
-e ' /^AC_INIT/s/\[' " ${VERSION} " ' _pre\]/[' " ${NEWVERSION} " ' ]/' \
68
74
-e " /^AM_MAINTAINER_MODE/s:\[enable\]:[disable]:" \
69
75
configure.ac || die
76
+ mv ChangeLog.md ChangeLog.md.release
77
+ {
78
+ echo " # ${FUTUREVERSION} (unreleased master branch)"
79
+ echo
80
+ echo " ### New Features"
81
+ echo
82
+ echo " ### Bugfixes"
83
+ echo
84
+ echo
85
+ echo " # ${NEWVERSION} (${EUTODAY} )"
86
+ sed -e " 1d" ChangeLog.md.release
87
+ } > ChangeLog.md
70
88
git diff | cat
71
89
read -p " OK to commit and create tag v${NEWVERSION} ? [yN] " ans
72
90
case " ${ans} " in
@@ -75,10 +93,11 @@ case "${ans}" in
75
93
;;
76
94
* )
77
95
mv configure.ac.release configure.ac
96
+ mv ChangeLog.md.release ChangeLog.md
78
97
die " aborting"
79
98
;;
80
99
esac
81
- rm -f configure.ac.release
100
+ rm -f configure.ac.release ChangeLog.md.release
82
101
git commit -a --signoff -m " release ${NEWVERSION} " || die
83
102
git tag v${NEWVERSION}
84
103
0 commit comments