summaryrefslogtreecommitdiff
path: root/git/objects
diff options
context:
space:
mode:
Diffstat (limited to 'git/objects')
-rw-r--r--git/objects/submodule/base.py1
-rw-r--r--git/objects/util.py10
2 files changed, 7 insertions, 4 deletions
diff --git a/git/objects/submodule/base.py b/git/objects/submodule/base.py
index 5539069c..f366e44c 100644
--- a/git/objects/submodule/base.py
+++ b/git/objects/submodule/base.py
@@ -425,6 +425,7 @@ class Submodule(IndexObject, TraversableIterableObj):
raise ValueError("A URL was not given and a repository did not exist at %s" % path)
# END check url
mrepo = sm.module()
+ assert isinstance(mrepo, Repo)
urls = [r.url for r in mrepo.remotes]
if not urls:
raise ValueError("Didn't find any remote url in repository at %s" % sm.abspath)
diff --git a/git/objects/util.py b/git/objects/util.py
index d3f3a622..fbe3d9de 100644
--- a/git/objects/util.py
+++ b/git/objects/util.py
@@ -35,6 +35,12 @@ if TYPE_CHECKING:
from .submodule.base import Submodule
+class TraverseNT(NamedTuple):
+ depth: int
+ item: Union['Traversable', 'Blob']
+ src: Union['Traversable', None]
+
+
T_TIobj = TypeVar('T_TIobj', bound='TraversableIterableObj') # for TraversableIterableObj.traverse()
TraversedTup = Union[Tuple[Union['Traversable', None], 'Traversable'], # for commit, submodule
@@ -379,10 +385,6 @@ class Traversable(object):
ignore_self=True is_edge=False --> Iterator[item]
ignore_self=False is_edge=True -> Iterator[item] | Iterator[Tuple[src, item]]
ignore_self=False is_edge=False -> Iterator[Tuple[src, item]]"""
- class TraverseNT(NamedTuple):
- depth: int
- item: Union['Traversable', 'Blob']
- src: Union['Traversable', None]
visited = set()
stack = deque() # type: Deque[TraverseNT]