summaryrefslogtreecommitdiff
path: root/git/repo/fun.py
diff options
context:
space:
mode:
Diffstat (limited to 'git/repo/fun.py')
-rw-r--r--git/repo/fun.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/git/repo/fun.py b/git/repo/fun.py
index b1b330c4..36c8b797 100644
--- a/git/repo/fun.py
+++ b/git/repo/fun.py
@@ -1,6 +1,5 @@
"""Package with general repository related functions"""
-from git.refs.reference import Reference
-from git.types import Commit_ish
+from __future__ import annotations
import os
import stat
from string import digits
@@ -20,12 +19,13 @@ from git.cmd import Git
# Typing ----------------------------------------------------------------------
from typing import Union, Optional, cast, TYPE_CHECKING
-
+from git.types import Commit_ish
if TYPE_CHECKING:
from git.types import PathLike
from .base import Repo
from git.db import GitCmdObjectDB
+ from git.refs.reference import Reference
from git.objects import Commit, TagObject, Blob, Tree
from git.refs.tag import Tag
@@ -204,7 +204,7 @@ def rev_parse(repo: 'Repo', rev: str) -> Union['Commit', 'Tag', 'Tree', 'Blob']:
raise NotImplementedError("commit by message search ( regex )")
# END handle search
- obj: Union[Commit_ish, Reference, None] = None
+ obj: Union[Commit_ish, 'Reference', None] = None
ref = None
output_type = "commit"
start = 0
@@ -224,7 +224,7 @@ def rev_parse(repo: 'Repo', rev: str) -> Union['Commit', 'Tag', 'Tree', 'Blob']:
ref = repo.head.ref
else:
if token == '@':
- ref = cast(Reference, name_to_object(repo, rev[:start], return_ref=True))
+ ref = cast('Reference', name_to_object(repo, rev[:start], return_ref=True))
else:
obj = cast(Commit_ish, name_to_object(repo, rev[:start]))
# END handle token
@@ -251,13 +251,13 @@ def rev_parse(repo: 'Repo', rev: str) -> Union['Commit', 'Tag', 'Tree', 'Blob']:
pass # default
elif output_type == 'tree':
try:
- obj = cast(Object, obj)
+ obj = cast(Commit_ish, obj)
obj = to_commit(obj).tree
except (AttributeError, ValueError):
pass # error raised later
# END exception handling
elif output_type in ('', 'blob'):
- obj = cast(TagObject, obj)
+ obj = cast('TagObject', obj)
if obj and obj.type == 'tag':
obj = deref_tag(obj)
else: