Skip to content

Commit 265d40b

Browse files
committed
Add type to symbolicreference.rename()
1 parent 34e9850 commit 265d40b

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

git/refs/symbolic.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
if TYPE_CHECKING:
2828
from git.repo import Repo
29+
from git.refs import Head, TagReference, Reference
2930

3031
T_References = TypeVar('T_References', bound='SymbolicReference')
3132

@@ -59,10 +60,10 @@ class SymbolicReference(object):
5960

6061
def __init__(self, repo: 'Repo', path: PathLike, check_path: bool = False):
6162
self.repo = repo
62-
self.path = str(path)
63+
self.path = path
6364

6465
def __str__(self) -> str:
65-
return self.path
66+
return str(self.path)
6667

6768
def __repr__(self):
6869
return '<git.%s "%s">' % (self.__class__.__name__, self.path)
@@ -84,7 +85,7 @@ def name(self) -> str:
8485
:return:
8586
In case of symbolic references, the shortest assumable name
8687
is the path itself."""
87-
return self.path
88+
return str(self.path)
8889

8990
@property
9091
def abspath(self) -> PathLike:
@@ -557,7 +558,7 @@ def create(cls, repo: 'Repo', path: PathLike, reference: Union[Commit_ish, str]
557558
:note: This does not alter the current HEAD, index or Working Tree"""
558559
return cls._create(repo, path, cls._resolve_ref_on_create, reference, force, logmsg)
559560

560-
def rename(self, new_path, force=False):
561+
def rename(self, new_path: PathLike, force: bool = False) -> 'SymbolicReference':
561562
"""Rename self to a new path
562563
563564
:param new_path:
@@ -577,7 +578,7 @@ def rename(self, new_path, force=False):
577578

578579
new_abs_path = os.path.join(_git_dir(self.repo, new_path), new_path)
579580
cur_abs_path = os.path.join(_git_dir(self.repo, self.path), self.path)
580-
if os.path.path.isfile(new_abs_path):
581+
if os.path.isfile(new_abs_path):
581582
if not force:
582583
# if they point to the same file, its not an error
583584
with open(new_abs_path, 'rb') as fd1:
@@ -663,7 +664,7 @@ def iter_items(cls: Type[T_References], repo: 'Repo', common_path: Union[PathLik
663664
return (r for r in cls._iter_items(repo, common_path) if r.__class__ == SymbolicReference or not r.is_detached)
664665

665666
@classmethod
666-
def from_path(cls, repo, path):
667+
def from_path(cls, repo: 'Repo', path: PathLike) -> Union['Head', 'TagReference', 'Reference']:
667668
"""
668669
:param path: full .git-directory-relative path name to the Reference to instantiate
669670
:note: use to_full_path() if you only have a partial path of a known Reference Type

0 commit comments

Comments
 (0)