Type
map[string, RepositoryEntry]
The map key is the destination path, relative to the workspace (or absolute).
Required
No. Omitrepositories: entirely if you don’t need any.
Entry fields
type
| Field | Type | Required | Allowed values |
|---|---|---|---|
type | string | yes | git, hg, svn, bzr, tar, zip |
| Type | Backend |
|---|---|
git | Pure-Go (no system git binary required). |
hg | System hg binary. |
svn | System svn binary. |
bzr | System bzr binary. |
tar | HTTPS download + in-place extraction. |
zip | HTTPS download + in-place extraction. |
url
| Field | Type | Required |
|---|---|---|
url | string | yes |
git:https://...,git@host:owner/repo.git,file://..., or a local path.hg,svn,bzr: any URL the matching binary accepts.tar,zip: any HTTPS URL returning the archive.
version
| Field | Type | Required |
|---|---|---|
version | string | no |
| Type | version is |
|---|---|
git | branch, tag, or commit SHA. Defaults to the remote’s default branch. |
hg | revision identifier (changeset, tag, branch). |
svn | revision number, as a quoted string ("1234"). |
bzr | revision identifier. |
tar, zip | strip-prefix string, the leading directory removed during extraction. |
Example
Behaviour
- A first sync clones (or extracts) into the destination path.
- Subsequent syncs fast-forward or re-extract if the URL or version changed.
- Removing an entry from
gaal.yamldoes not delete the directory.--pruneignores repositories.