2 # Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 from target import SourceTarget
21 from tree_directory import TreeDirectory
23 class CmdRelease(object):
26 self.help = "release a project using its next version number (changing wscript and tagging)"
29 if args.minor is False and args.micro is False:
30 raise Error('you must specify --minor or --micro')
32 target = SourceTarget()
33 tree = globals.trees.get(args.project, args.checkout, target)
35 version = tree.version
42 with TreeDirectory(tree):
43 set_version_in_wscript(version)
44 append_version_to_changelog(version)
45 append_version_to_debian_changelog(version)
47 command('git commit -a -m "Bump version"')
48 command('git tag -m "v%s" v%s' % (version, version))
51 set_version_in_wscript(version)
52 command('git commit -a -m "Bump version"')
54 command('git push --tags')