summaryrefslogtreecommitdiff
path: root/git/repo
diff options
context:
space:
mode:
authorYobmod <yobmod@gmail.com>2021-07-19 19:10:45 +0100
committerYobmod <yobmod@gmail.com>2021-07-19 19:10:45 +0100
commit9e5e969479ec6018e1ba06b95bcdefca5b0082a4 (patch)
tree574e03c6c4acd1067e3b285974651ec9e9529a49 /git/repo
parent9a587e14d509cc77bf47b9591d1def3e5a1df570 (diff)
downloadgitpython-9e5e969479ec6018e1ba06b95bcdefca5b0082a4.tar.gz
Change remaining type comments to py3.6+ types
Diffstat (limited to 'git/repo')
-rw-r--r--git/repo/base.py20
-rw-r--r--git/repo/fun.py9
2 files changed, 15 insertions, 14 deletions
diff --git a/git/repo/base.py b/git/repo/base.py
index 29d08502..64f32bd3 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -83,10 +83,10 @@ class Repo(object):
DAEMON_EXPORT_FILE = 'git-daemon-export-ok'
git = cast('Git', None) # Must exist, or __del__ will fail in case we raise on `__init__()`
- working_dir = None # type: Optional[PathLike]
- _working_tree_dir = None # type: Optional[PathLike]
- git_dir = "" # type: PathLike
- _common_dir = "" # type: PathLike
+ working_dir: Optional[PathLike] = None
+ _working_tree_dir: Optional[PathLike] = None
+ git_dir: PathLike = ""
+ _common_dir: PathLike = ""
# precompiled regex
re_whitespace = re.compile(r'\s+')
@@ -221,7 +221,7 @@ class Repo(object):
self._working_tree_dir = None
# END working dir handling
- self.working_dir = self._working_tree_dir or self.common_dir # type: Optional[PathLike]
+ self.working_dir: Optional[PathLike] = self._working_tree_dir or self.common_dir
self.git = self.GitCommandWrapperType(self.working_dir)
# special handling, in special times
@@ -591,7 +591,7 @@ class Repo(object):
raise ValueError("Please specify at least two revs, got only %i" % len(rev))
# end handle input
- res = [] # type: List[Union[Commit_ish, None]]
+ res: List[Union[Commit_ish, None]] = []
try:
lines = self.git.merge_base(*rev, **kwargs).splitlines() # List[str]
except GitCommandError as err:
@@ -813,7 +813,7 @@ class Repo(object):
line = next(stream) # when exhausted, causes a StopIteration, terminating this function
except StopIteration:
return
- split_line = line.split() # type: Tuple[str, str, str, str]
+ split_line: Tuple[str, str, str, str] = line.split()
hexsha, orig_lineno_str, lineno_str, num_lines_str = split_line
lineno = int(lineno_str)
num_lines = int(num_lines_str)
@@ -879,10 +879,10 @@ class Repo(object):
return self.blame_incremental(rev, file, **kwargs)
data = self.git.blame(rev, '--', file, p=True, stdout_as_string=False, **kwargs)
- commits = {} # type: Dict[str, Any]
- blames = [] # type: List[List[Union[Optional['Commit'], List[str]]]]
+ commits: Dict[str, TBD] = {}
+ blames: List[List[Union[Optional['Commit'], List[str]]]] = []
- info = {} # type: Dict[str, Any] # use Any until TypedDict available
+ info: Dict[str, TBD] = {} # use Any until TypedDict available
keepends = True
for line in data.splitlines(keepends):
diff --git a/git/repo/fun.py b/git/repo/fun.py
index e96b62e0..a20e2ecb 100644
--- a/git/repo/fun.py
+++ b/git/repo/fun.py
@@ -1,5 +1,4 @@
"""Package with general repository related functions"""
-from git.refs.tag import Tag
import os
import stat
from string import digits
@@ -19,11 +18,13 @@ from git.cmd import Git
# Typing ----------------------------------------------------------------------
from typing import Union, Optional, cast, TYPE_CHECKING
-from git.types import PathLike
+
if TYPE_CHECKING:
+ from git.types import PathLike
from .base import Repo
from git.db import GitCmdObjectDB
from git.objects import Commit, TagObject, Blob, Tree
+ from git.refs.tag import Tag
# ----------------------------------------------------------------------------
@@ -122,7 +123,7 @@ def name_to_object(repo: 'Repo', name: str, return_ref: bool = False
:param return_ref: if name specifies a reference, we will return the reference
instead of the object. Otherwise it will raise BadObject or BadName
"""
- hexsha = None # type: Union[None, str, bytes]
+ hexsha: Union[None, str, bytes] = None
# is it a hexsha ? Try the most common ones, which is 7 to 40
if repo.re_hexsha_shortened.match(name):
@@ -162,7 +163,7 @@ def name_to_object(repo: 'Repo', name: str, return_ref: bool = False
return Object.new_from_sha(repo, hex_to_bin(hexsha))
-def deref_tag(tag: Tag) -> 'TagObject':
+def deref_tag(tag: 'Tag') -> 'TagObject':
"""Recursively dereference a tag and return the resulting object"""
while True:
try: