From 957a952b4bc0847672f0480a2b972d73a10f17e6 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Wed, 25 Mar 2026 08:55:33 +0100 Subject: [PATCH] [IMP] detect version from feature branches --- oca_port/app.py | 8 ++++++-- oca_port/tests/test_app.py | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/oca_port/app.py b/oca_port/app.py index 28531a8..4b2d556 100644 --- a/oca_port/app.py +++ b/oca_port/app.py @@ -120,8 +120,12 @@ def __post_init__(self): def _handle_odoo_versions(self): odoo_version_pattern = r"^[0-9]+\.[0-9]$" - source_version = re.search(odoo_version_pattern, self.source.branch) - target_version = re.search(odoo_version_pattern, self.target.branch) + source_version = re.search( + odoo_version_pattern, self.source.branch.split("-", 1)[0] + ) + target_version = re.search( + odoo_version_pattern, self.target.branch.split("-", 1)[0] + ) source_param = "--source-version" if self.cli else "source_version" target_param = "--target-version" if self.cli else "target_version" # Check Odoo versions from branches diff --git a/oca_port/tests/test_app.py b/oca_port/tests/test_app.py index 8f86d09..9d96752 100644 --- a/oca_port/tests/test_app.py +++ b/oca_port/tests/test_app.py @@ -57,6 +57,14 @@ def test_app_init(self): self.assertFalse(app.destination.branch) self.assertFalse(app.destination.branch) + # Check with a feature branch + # $ oca-port 15.0-feature 16.0 my_module + repo = self._git_repo(self.repo_path) + repo.remotes["origin"].fetch("15.0:15.0-feature") + app = self._create_app("15.0-feature", "16.0") + self.assertEqual(app.source_version, "15.0") + self.assertEqual(app.target_version, "16.0") + def test_check_addon_exists(self): app = self._create_app(self.source1, self.target2) # source