|
30 | 30 | from pathlib import Path |
31 | 31 | from string import hexdigits |
32 | 32 | from time import time |
33 | | -from typing import TYPE_CHECKING, Optional, overload |
| 33 | +from typing import TYPE_CHECKING, Literal, Optional, overload |
34 | 34 |
|
35 | 35 | # Import from pygit2 |
36 | 36 | from ._pygit2 import ( |
@@ -808,13 +808,31 @@ def _merge_options( |
808 | 808 |
|
809 | 809 | return opts |
810 | 810 |
|
| 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 | + |
811 | 829 | def merge_file_from_index( |
812 | 830 | self, |
813 | 831 | ancestor: 'IndexEntry | None', |
814 | 832 | ours: 'IndexEntry | None', |
815 | 833 | theirs: 'IndexEntry | None', |
816 | 834 | use_deprecated: bool = False, |
817 | | - ) -> 'MergeFileResult | str | None': |
| 835 | + ) -> 'MergeFileResult | str': |
818 | 836 | """Merge files from index. |
819 | 837 |
|
820 | 838 | Returns: An instance of MergeFileResult by default. |
@@ -851,6 +869,8 @@ def merge_file_from_index( |
851 | 869 | mergeFileResult = MergeFileResult._from_c(cmergeresult) |
852 | 870 | C.git_merge_file_result_free(cmergeresult) |
853 | 871 |
|
| 872 | + assert mergeFileResult is not None |
| 873 | + |
854 | 874 | if use_deprecated: |
855 | 875 | warnings.warn( |
856 | 876 | 'Getting an str from Repository.merge_file_from_index is deprecated. ' |
|
0 commit comments