GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — GitPython/git/refs/remote.py at main · gitpython-developers/GitPython Expand file tree/ Copy pathremote.pyMore file actions 68 lines (51 loc) · 2.39 KB / Copy pathremote.pyFile metadata and controls68 lines (51 loc) · 2.39 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 # This module is part of GitPython and is released under the # 3-Clause BSD License: https://opensource.org/license/bsd-3-clause/ """Module implementing a remote object allowing easy access to git remotes.""" __all__ = ["RemoteReference"] from git.util import join_path from .head import Head # typing ------------------------------------------------------------------ from typing import Any, Iterator, NoReturn, TYPE_CHECKING, Union from git.types import PathLike if TYPE_CHECKING: from git.remote import Remote from git.repo import Repo # ------------------------------------------------------------------------------ class RemoteReference(Head): """A reference pointing to a remote head.""" _common_path_default = Head._remote_common_path_default @classmethod def iter_items( cls, repo: "Repo", common_path: Union[PathLike, None] = None, remote: Union["Remote", None] = None, *args: Any, **kwargs: Any, ) -> Iterator["RemoteReference"]: """Iterate remote references, and if given, constrain them to the given remote.""" common_path = common_path or cls._common_path_default if remote is not None: common_path = join_path(common_path, str(remote)) # END handle remote constraint # super is Reference return super().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: # type: ignore[override] """Delete the given remote references. :note: `kwargs` are given for comparability with the base class method as we should not narrow the signature. """ for ref in refs: cls._get_validated_ref_path(repo, ref.path) for ref in refs: repo.git._call_process_safe("update_ref", "--no-deref", "-d", "--", ref.path) @classmethod def create(cls, *args: Any, **kwargs: Any) -> NoReturn: """Raise :exc:`TypeError`. Defined so the ``create`` method is disabled.""" raise TypeError("Cannot explicitly create remote references") |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |