[FR] Support forked rules with 100 version buffer space (#1946)

This commit is contained in:
Mika Ayenson
2022-10-14 14:45:28 -04:00
committed by GitHub
parent e761beb0a0
commit 7b596c7729
+7 -2
View File
@@ -170,7 +170,7 @@ class VersionLock:
def manage_versions(self, rules: RuleCollection,
exclude_version_update=False, save_changes=False,
verbose=True) -> (List[str], List[str], List[str]):
verbose=True, buffer_int: int = 100) -> (List[str], List[str], List[str]):
"""Update the contents of the version.lock file and optionally save changes."""
from .packaging import current_stack_version
@@ -240,6 +240,12 @@ class VersionLock:
elif min_stack > latest_locked_stack_version:
route = 'B'
# 3) on the latest stack, locking in a breaking change
# preserve buffer space to support forked version spacing
if exclude_version_update:
buffer_int -= 1
lock_from_rule["version"] = lock_from_file["version"] + buffer_int
previous_lock_info = {
"max_allowable_version": lock_from_rule['version'] - 1,
"rule_name": lock_from_file["rule_name"],
@@ -253,7 +259,6 @@ class VersionLock:
lock_from_file["previous"][str(latest_locked_stack_version)] = previous_lock_info
# overwrite the "latest" part of the lock at the top level
# TODO: would need to preserve space here as well if supporting forked version spacing
lock_from_file.update(lock_from_rule, min_stack_version=str(min_stack))
new_version = lock_from_rule['version']
log_changes(