diff options
author | Lars Wirzenius <liw@liw.fi> | 2016-03-09 14:19:05 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2016-03-09 14:34:25 +0200 |
commit | e7e4ba38a93fb5f05b1505e6b10c75bbac1d831b (patch) | |
tree | 4cec643e5366ec67389949f4217934c403653568 /bumper | |
parent | d2eea7ea2c361920bf416bf2255571f11787b302 (diff) | |
download | bumper-e7e4ba38a93fb5f05b1505e6b10c75bbac1d831b.tar.gz |
Check that new version is newer than current
Diffstat (limited to 'bumper')
-rwxr-xr-x | bumper | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -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]) |