3 # set version number and description
5 # Author: engelbert gruber (taken from Lea Wiemann's release.sh)
6 # Contact: grubert@users.sourceforge.net
9 # Copyright: This script has been placed in the public domain.
11 # USAGE see: docutils/docs/dev/release.txt
13 # must be run from docutils trunk/docutils,
14 # because HISTORY and RELEASE_NOTES.txt are modified.
18 echo "Change version identifier"
21 echo " set_version.sh <new_version-identifier>"
23 echo "Version identifier: major.minor[.micro][<pre>][.dev]"
24 echo " micro is for bug-fix releases and left out if zero"
25 echo " prereleases get '(a|b|rc[N])#' appended"
26 echo " a '.dev' suffix indicates repository versions (no release)"
29 echo " 0.14b.dev 0.14b 0.14rc1.dev 0.14rc1 0.14 0.15b.dev"
33 old_ver
="`python -c 'import docutils; print docutils.__version__'`"
36 echo "from current Docutils version ${old_ver} to ${new_ver}"
40 # Parameters: old_version new_version
42 echo Determining list of files to be changed...
43 # BUG ls lists directories but does not descend
44 # (try ls --recursive)
45 files
="docutils/__init__.py setup.py `$svn ls test/functional/expected/ | sed 's|^|test/functional/expected/|'`"
46 echo "Now I'll change the version number to ${new_ver} in the following files:"
49 echo 'Press enter to proceed (or enter anything to skip)...'
51 if [ ! "$REPLY" ]; then
52 echo 'Modifying files with ed...'
53 old_ver_regex
="`echo "$1" | sed 's/\./\\\\./g'`"
54 # "ed" returns an error code if there has been no substitution, so
55 # we temporarily deactivate exit-on-error.
58 (echo ",s/$old_ver_regex/${new_ver}/g"; echo 'wq') | ed
"$F"
63 echo 'CAUTION: please look at the diffs carefully, for wrongly'
64 echo ' replaced embedded numbers.'
65 # checkin "set version number to $2" $files
68 set_ver
"$old_ver" "$new_ver"
69 echo "VERIFY: major, minor, micro, releaselevel (candidate,rinal), prerelease number, pre/release or checkout"
70 python
-c 'import docutils; print "__version_info__ =", docutils.__version_info__'