Skip to content

Commit 3e131e9

Browse files
committed
Fix mypy
Assisted-by: Kimi-k2.7
1 parent a71de72 commit 3e131e9

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

pygit2/repository.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
from pathlib import Path
3131
from string import hexdigits
3232
from time import time
33-
from typing import TYPE_CHECKING, Optional, overload
33+
from typing import TYPE_CHECKING, Literal, Optional, overload
3434

3535
# Import from pygit2
3636
from ._pygit2 import (
@@ -808,13 +808,31 @@ def _merge_options(
808808

809809
return opts
810810

811+
@overload
812+
def merge_file_from_index(
813+
self,
814+
ancestor: 'IndexEntry | None',
815+
ours: 'IndexEntry | None',
816+
theirs: 'IndexEntry | None',
817+
use_deprecated: Literal[True],
818+
) -> str: ...
819+
820+
@overload
821+
def merge_file_from_index(
822+
self,
823+
ancestor: 'IndexEntry | None',
824+
ours: 'IndexEntry | None',
825+
theirs: 'IndexEntry | None',
826+
use_deprecated: Literal[False] = False,
827+
) -> MergeFileResult: ...
828+
811829
def merge_file_from_index(
812830
self,
813831
ancestor: 'IndexEntry | None',
814832
ours: 'IndexEntry | None',
815833
theirs: 'IndexEntry | None',
816834
use_deprecated: bool = False,
817-
) -> 'MergeFileResult | str | None':
835+
) -> 'MergeFileResult | str':
818836
"""Merge files from index.
819837
820838
Returns: An instance of MergeFileResult by default.
@@ -851,6 +869,8 @@ def merge_file_from_index(
851869
mergeFileResult = MergeFileResult._from_c(cmergeresult)
852870
C.git_merge_file_result_free(cmergeresult)
853871

872+
assert mergeFileResult is not None
873+
854874
if use_deprecated:
855875
warnings.warn(
856876
'Getting an str from Repository.merge_file_from_index is deprecated. '

0 commit comments

Comments
 (0)