Skip to main content
Harbor can resolve datasets directly from Git repositories using the --repo flag. This lets you run benchmarks hosted in any GitHub, GitLab, or Hugging Face repo.

Quick start

This clones the repository, and by default runs that tasks in the tasks/ directory.

Specifying the repository

The --repo flag accepts several formats:
When no @ref is specified, the repository’s default branch is used.

Selecting a dataset

You can select datasets using -p to specify a path within the repo or -d to specify a dataset defined in a root-level registry.json file (or as specified by --registry-path).
Run an implicit dataset from a repo-relative directory:
Without -p or -d, Harbor treats the repo’s tasks/ directory as an implicit dataset.

Combining with other flags

Standard dataset flags work with --repo:
--repo cannot be combined with --registry-url or --task / --task-git-url.

Repository layout

A git repository used with --repo should contain a registry.json at its root (or in the targeted subdirectory). This is the same format used by local --registry-path:
The registry.json maps dataset names to task lists. See Tasks → Overview for task directory structure.

Authentication

Public repositories work without any configuration. For private repositories, Harbor uses the Git credentials available in your environment (SSH keys, credential helpers, GIT_ASKPASS, etc.). If git ls-remote can reach the repo, --repo will work.