From 1f0bc75c672b41041dc2e0cb7c18aaf015114fc7 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 22 Nov 2019 15:30:58 -0500 Subject: [PATCH] Override bumpversion --- semver/__init__.py | 13 +++++++++++++ semver/get_version.py | 11 +++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/semver/__init__.py b/semver/__init__.py index e134af6..29769ce 100644 --- a/semver/__init__.py +++ b/semver/__init__.py @@ -1,6 +1,8 @@ import argparse import re import subprocess +from semver.get_version import get_tag_version + try: from configparser import ConfigParser except ImportError: @@ -97,6 +99,17 @@ class SemVer(object): # use bumpversion to increment the appropriate version type def version_repo(self): + config_file = "" + with open(".bumpversion.cfg", "r") as file: + config_file = file.read() + # Update .bumpconfig + pattern = re.compile("current_version = [0-9.]*") + current_config = re.search(pattern, config_file) + if current_config: + config_file.replace(current_config, "current_version = " + get_tag_version()) + with open(".bumpversion.cfg", "w") as file: + file.write(config_file) + # version repo p = subprocess.Popen(['bumpversion', self.version_type], cwd='.') diff --git a/semver/get_version.py b/semver/get_version.py index 42ce3f7..49645a6 100644 --- a/semver/get_version.py +++ b/semver/get_version.py @@ -11,18 +11,17 @@ except ImportError: import os DEVNULL = open(os.devnull, 'wb') - -def get_version(dot=False): - config = ConfigParser() - config.read('./.bumpversion.cfg') - +def get_tag_version(): version = "develop" tagged_versions = subprocess.Popen(['git','tag','-l','[0-9]*.[0-9]*.[0-9]*'], stdout=subprocess.PIPE, stderr=DEVNULL, cwd=".").stdout.read().decode('utf-8').rstrip().split('\n') if len(tagged_versions) > 0 and tagged_versions[-1] != "": version = tagged_versions[-1] - + return version + +def get_version(dot=False): + version = get_tag_version() # Get the commit hash of the version v_hash = subprocess.Popen(['git', 'rev-list', '-n', '1', version], stdout=subprocess.PIPE,