summaryrefslogtreecommitdiff
path: root/bumper
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-03-09 14:19:05 +0200
committerLars Wirzenius <liw@liw.fi>2016-03-09 14:34:25 +0200
commite7e4ba38a93fb5f05b1505e6b10c75bbac1d831b (patch)
tree4cec643e5366ec67389949f4217934c403653568 /bumper
parentd2eea7ea2c361920bf416bf2255571f11787b302 (diff)
downloadbumper-e7e4ba38a93fb5f05b1505e6b10c75bbac1d831b.tar.gz
Check that new version is newer than current
Diffstat (limited to 'bumper')
-rwxr-xr-xbumper17
1 files changed, 16 insertions, 1 deletions
diff --git a/bumper b/bumper
index ef06fef..624c358 100755
--- a/bumper
+++ b/bumper
@@ -30,9 +30,15 @@ class Bumper(cliapp.Application):
def process_args(self, args):
project_name = self.get_project_name()
version = self.get_version(args)
- version_py = self.find_version_py()
print 'Releasing {} version {}'.format(project_name, version)
+ current_version = self.get_current_version()
+ if not self.version_is_newer(version, current_version):
+ raise cliapp.AppException(
+ 'New version {} is older than current version {}'.format(
+ version, current_version))
+
+ version_py = self.find_version_py()
print '... {}'.format(version_py)
self.write_version_py(version_py, version, '')
@@ -81,6 +87,15 @@ class Bumper(cliapp.Application):
raise cliapp.AppException('Too many version.py in project')
return version_pys[0]
+ def get_current_version(self):
+ return cliapp.runcmd(['python', 'setup.py', '--version']).strip()
+
+ def version_is_newer(self, v1, v2):
+ '''Is v1 newer than v2?'''
+ vi1 = self.parse_version_info(v1, None)
+ vi2 = self.parse_version_info(v2, None)
+ return vi1 > vi2
+
def update_debian_changelog(self, version, msg):
debian_version = '{}-1'.format(version)
cliapp.runcmd(['dch', '-v', debian_version, msg])