swh.loader.git.directory module#
- swh.loader.git.directory.git() str [source]#
Get the path to the git executable.
- Raises:
EnvironmentError if no opam executable is found –
- swh.loader.git.directory.checkout_repository_ref(git_url: str, git_ref: str, target: Path) Path [source]#
Checkout the reference
git_ref
(commit, tag or branch) from git repository located atgit_url
.This function can raise for various reasons. This is expected to be caught by the main loop in the loader.
- swh.loader.git.directory.list_git_tree(dirpath: bytes, dirname: bytes, entries: Iterable[Any]) bool [source]#
List a git tree. This ignores any repo_path/.git/* and empty folders. This is a filter for
directory_to_objects()
to ignore specific directories.
- class swh.loader.git.directory.GitCheckoutLoader(*args, **kwargs)[source]#
Bases:
BaseDirectoryLoader
Git directory loader in charge of ingesting a git tree at a specific commit, tag or branch into the swh archive.
As per the standard git hash computations, this ignores the .git and the empty directories.
The output snapshot is of the form:
id: <bytes> branches: HEAD: target_type: alias target: <git-ref> <git-ref>: target_type: directory target: <directory-id>
- fetch_artifact() Iterator[Path] [source]#
This fetches an artifact representation and yields its associated local representation (as Path). Depending on the implementation, this may yield contents coming from a remote location, or directories coming from tarball, svn tree, git tree, hg tree, …
- Raises
NotFound if nothing is found; ValueError in case of mismatched checksums