diff options
author | Dominic <yobmod@gmail.com> | 2021-09-24 03:52:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-24 03:52:16 +0100 |
commit | 1746b971387eccfc6fb4e34d3c334079bbb14b2e (patch) | |
tree | cd6d4a755c41c203b6d1c14996d0025318579efc | |
parent | 2d15c5a601e698e8f7859e821950cad0701b756d (diff) | |
parent | 5f4b4dbff46fae4c899f5573aea5a7266a41eeeb (diff) | |
download | gitpython-1746b971387eccfc6fb4e34d3c334079bbb14b2e.tar.gz |
Merge pull request #1346 from rra/type-fixes
Fix typing issues with delete_head and Remote.add
-rw-r--r-- | git/refs/head.py | 2 | ||||
-rw-r--r-- | git/refs/remote.py | 7 | ||||
-rw-r--r-- | git/remote.py | 4 | ||||
-rw-r--r-- | git/repo/base.py | 2 |
4 files changed, 11 insertions, 4 deletions
diff --git a/git/refs/head.py b/git/refs/head.py index 56a87182..d1d72c7b 100644 --- a/git/refs/head.py +++ b/git/refs/head.py @@ -129,7 +129,7 @@ class Head(Reference): k_config_remote_ref = "merge" # branch to merge from remote @classmethod - def delete(cls, repo: 'Repo', *heads: 'Head', force: bool = False, **kwargs: Any) -> None: + def delete(cls, repo: 'Repo', *heads: 'Union[Head, str]', force: bool = False, **kwargs: Any) -> None: """Delete the given heads :param force: diff --git a/git/refs/remote.py b/git/refs/remote.py index 9b74d87f..1b416bd0 100644 --- a/git/refs/remote.py +++ b/git/refs/remote.py @@ -37,8 +37,13 @@ class RemoteReference(Head): # super is Reference return super(RemoteReference, cls).iter_items(repo, common_path) + # The Head implementation of delete also accepts strs, but this + # implementation does not. mypy doesn't have a way of representing + # tightening the types of arguments in subclasses and recommends Any or + # "type: ignore". (See https://github.com/python/typing/issues/241) @ classmethod - def delete(cls, repo: 'Repo', *refs: 'RemoteReference', **kwargs: Any) -> None: + def delete(cls, repo: 'Repo', *refs: 'RemoteReference', # type: ignore + **kwargs: Any) -> None: """Delete the given remote references :note: diff --git a/git/remote.py b/git/remote.py index 9917c431..2cf5678b 100644 --- a/git/remote.py +++ b/git/remote.py @@ -665,7 +665,9 @@ class Remote(LazyMixin, IterableObj): return cls(repo, name) # add is an alias - add = create + @ classmethod + def add(cls, repo: 'Repo', name: str, url: str, **kwargs: Any) -> 'Remote': + return cls.create(repo, name, url, **kwargs) @ classmethod def remove(cls, repo: 'Repo', name: str) -> str: diff --git a/git/repo/base.py b/git/repo/base.py index e308fd8a..7713c915 100644 --- a/git/repo/base.py +++ b/git/repo/base.py @@ -429,7 +429,7 @@ class Repo(object): :return: newly created Head Reference""" return Head.create(self, path, commit, logmsg, force) - def delete_head(self, *heads: 'Head', **kwargs: Any) -> None: + def delete_head(self, *heads: 'Union[str, Head]', **kwargs: Any) -> None: """Delete the given heads :param kwargs: Additional keyword arguments to be passed to git-branch""" |