From 38518d179420f828554753e21fbadec874ea7066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= Date: Wed, 3 Jul 2024 19:23:00 +0200 Subject: [PATCH 1/2] Add open coded OpenStruct --- git_explode/exploder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git_explode/exploder.py b/git_explode/exploder.py index 19452a7..618a3bd 100644 --- a/git_explode/exploder.py +++ b/git_explode/exploder.py @@ -3,7 +3,6 @@ import copy import six -from ostruct import OpenStruct from git_deps.detector import DependencyDetector from git_deps.gitutils import GitUtils @@ -12,6 +11,11 @@ from git_explode.listener import ExplodeDependencyListener from git_explode.topics import TopicManager +class OpenStruct: + def __init__(self, data): + self.__dict__.update(data) + def __getattr__(self, key): + return self.__dict__[key] if key in self.__dict__ else None class GitExploder(object): """Explode a linear sequence of git commits into multiple independent From 48b2cb703f6c4d5e4876833f9763d6c3eb454aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= Date: Thu, 4 Jul 2024 19:12:03 +0200 Subject: [PATCH 2/2] python update: Make deps indexable python311 doesn't support array keys and indexing, quick fix by converting to a list. Fixes #7 --- git_explode/exploder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git_explode/exploder.py b/git_explode/exploder.py index 618a3bd..2f71df5 100644 --- a/git_explode/exploder.py +++ b/git_explode/exploder.py @@ -124,7 +124,7 @@ def prepare_cherrypick_base(self, sha, deps, commits): self.checkout_new(branch, self.base) return - deps = deps.keys() + deps = list(deps.keys()) assert len(deps) >= 1 self.logger.debug(" deps: %s" % ' '.join([d[:8] for d in deps]))