diff --git a/runbot/models/repo.py b/runbot/models/repo.py index b8361609..e2659121 100644 --- a/runbot/models/repo.py +++ b/runbot/models/repo.py @@ -561,7 +561,7 @@ class Repo(models.Model): for addons_path in (self.addons_paths or '').split(','): base_path = f'{self.name}/{addons_path}' if file.startswith(base_path): - return file.replace(base_path, '').strip('/').split('/')[0] + return file[len(base_path):].strip('/').split('/')[0] class RefTime(models.Model): diff --git a/runbot/tests/test_build_config_step.py b/runbot/tests/test_build_config_step.py index 702eacba..1053a098 100644 --- a/runbot/tests/test_build_config_step.py +++ b/runbot/tests/test_build_config_step.py @@ -108,7 +108,9 @@ class TestCodeowner(TestBuildConfigStepCommon): self.assertEqual(self.repo_server.addons_paths, 'addons,core/addons') self.assertEqual('module1', self.repo_server._get_module('server/core/addons/module1/some/file.py')) self.assertEqual('module1', self.repo_server._get_module('server/addons/module1/some/file.py')) + self.assertEqual('module_addons', self.repo_addons._get_module('addons/module_addons/some/file.py')) self.assertEqual(None, self.repo_server._get_module('server/core/module1/some/file.py')) + self.assertEqual(None, self.repo_server._get_module('server/core/module/some/file.py')) def test_codeowner_regex_multiple(self): self.diff = 'file.js\nfile.py\nfile.xml'