swh.loader.mercurial.directory module#
- swh.loader.mercurial.directory.clone_repository(repo_url: str, hg_changeset: str, target: Path) Path [source]#
Clone
repo_url
repository in thetarget
directory athg_changeset
(mercurial changeset or tag).This function can raise for various reasons. This is expected to be caught by the main loop in the loader.
- Raises
NotFound: exception if the origin to ingest is not found
- Returns
the local clone repository directory path
- swh.loader.mercurial.directory.list_hg_tree(dirpath: bytes, dirname: bytes, entries: Iterable[Any]) bool [source]#
List a mercurial tree. This ignores any repo_path/.hg/* and empty folders.
- class swh.loader.mercurial.directory.HgCheckoutLoader(*args, **kwargs)[source]#
Bases:
BaseDirectoryLoader
Hg directory loader in charge of ingesting a mercurial tree at a specific changeset, tag or branch into the swh archive.
The output snapshot is of the form:
id: <bytes> branches: HEAD: target_type: alias target: <mercurial-reference> <mercurial-reference>: 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