From 56a76044b6634e3c055bac565bf2293e8b0ce4ac Mon Sep 17 00:00:00 2001 From: Bibek Date: Sat, 9 May 2026 20:28:07 -0400 Subject: [PATCH 1/2] fix(repositories): narrow return type of repository_merge_base to dict[str, Any] --- gitlab/v4/objects/repositories.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gitlab/v4/objects/repositories.py b/gitlab/v4/objects/repositories.py index a621cda43..65c3a63c9 100644 --- a/gitlab/v4/objects/repositories.py +++ b/gitlab/v4/objects/repositories.py @@ -329,9 +329,7 @@ def repository_archive( @cli.register_custom_action(cls_names="Project", required=("refs",)) @exc.on_http_error(exc.GitlabGetError) - def repository_merge_base( - self, refs: list[str], **kwargs: Any - ) -> dict[str, Any] | requests.Response: + def repository_merge_base(self, refs: list[str], **kwargs: Any) -> dict[str, Any]: """Return a diff between two branches/commits. Args: @@ -351,7 +349,10 @@ def repository_merge_base( custom_types={"refs": types.ArrayAttribute}, transform_data=True, ) - return self.manager.gitlab.http_get(path, query_data=query_data, **kwargs) + result = self.manager.gitlab.http_get(path, query_data=query_data, **kwargs) + if TYPE_CHECKING: + assert isinstance(result, dict) + return result @cli.register_custom_action(cls_names="Project") @exc.on_http_error(exc.GitlabDeleteError) From 19c45e3c78cb88d598ab76779bba6bef8779ec1e Mon Sep 17 00:00:00 2001 From: Bibek Date: Sat, 9 May 2026 21:28:34 -0400 Subject: [PATCH 2/2] docs: fix repository_merge_base docstring to describe merge base, not diff --- gitlab/v4/objects/repositories.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/v4/objects/repositories.py b/gitlab/v4/objects/repositories.py index 65c3a63c9..1b7610e71 100644 --- a/gitlab/v4/objects/repositories.py +++ b/gitlab/v4/objects/repositories.py @@ -330,7 +330,7 @@ def repository_archive( @cli.register_custom_action(cls_names="Project", required=("refs",)) @exc.on_http_error(exc.GitlabGetError) def repository_merge_base(self, refs: list[str], **kwargs: Any) -> dict[str, Any]: - """Return a diff between two branches/commits. + """Return the common ancestor commit for the given refs. Args: refs: The refs to find the common ancestor of. Multiple refs can be passed.