wfexs_backend.fetchers.git#

Module Contents#

Classes#

Data#

API#

wfexs_backend.fetchers.git.GITHUB_NETLOC = 'github.com'#
class wfexs_backend.fetchers.git.GitFetcher(scheme_catalog: wfexs_backend.scheme_catalog.SchemeCatalog, progs: wfexs_backend.common.ProgsMapping = dict(), setup_block: Mapping[str, Any] | None = None)#

Bases: wfexs_backend.fetchers.AbstractSchemeRepoFetcher

PRIORITY: ClassVar[int] = None#
GIT_PROTO: Final[str] = 'git'#
GIT_PROTO_PREFIX: Final[str] = None#
GITHUB_SCHEME: Final[str] = 'github'#
DEFAULT_GIT_CMD: Final[SymbolicName] = 'cast(...)'#
HEAD_LABEL: Final[Ref] = 'cast(...)'#
REFS_HEADS_PREFIX: Final[bytes] = b'refs/heads/'#
REFS_TAGS_PREFIX: Final[bytes] = b'refs/tags/'#
GIT_SCHEMES: Final[Sequence[str]] = ['https', 'git', 'ssh', 'file']#
classmethod GetSchemeHandlers() Mapping[str, DocumentedStatefulProtocolFetcher]#
property description: str#
classmethod GetNeededPrograms() Sequence[SymbolicName]#
classmethod _find_git_repo_in_uri(remote_file: URIType | parse.ParseResult, offline: bool = False) Tuple[RemoteRepo, Sequence[str], Sequence[RepoTag]]#
classmethod GuessRepoParams(wf_url: URIType | parse.ParseResult, logger: logging.Logger | None = None, fail_ok: bool = False, offline: bool = False) RemoteRepo | None#

When it is in offline mode, GuessRepoParams can raise an OfflineRepoGuessException

build_pid_from_repo(remote_repo: wfexs_backend.fetchers.RemoteRepo) str | None#

This method is required to generate a PID which usually represents an element (usually a workflow) in a repository. If the fetcher does not recognize the type of repo, either using repo_url content or the repo type in the worst case, it should return None

materialize_repo_from_repo(repo: wfexs_backend.fetchers.RemoteRepo, repo_tag_destdir: PathLikePath | None = None, base_repo_destdir: PathLikePath | None = None, doUpdate: bool | None = True) wfexs_backend.fetchers.MaterializedRepo#
Parameters:
  • repoURL – The URL to the repository.

  • repoTag – The tag or branch to checkout.

By default, checkout the repository’s default branch. :param doUpdate: :return:

fetch(remote_file: wfexs_backend.common.URIType, cachedFilename: wfexs_backend.common.PathLikePath, secContext: SecurityContextConfig | None = None, explicit_redirects: bool = False) wfexs_backend.fetchers.ProtocolFetcherReturn#