VCS fields¶
| JSON field | Python property | Meaning |
|---|---|---|
vcs:type |
vcs_type |
Version-control system, e.g. git, svn, or a custom name. |
vcs:branch |
branch |
Line of development, e.g. main. |
vcs:revision |
revision |
Exact revision, e.g. a commit hash or changelist. |
vcs:tag |
tag |
Release marker, e.g. v1.0.0. |
All four fields are optional nonempty strings in the v0.1.0 schema. Unknown vcs: fields are rejected; unrelated metadata is permitted. System names are not an enum. The schema applies these constraints to Catalogs, Collections, Item properties, Assets, Links, and linkTemplates.
Getters return None for missing fields; setters accept None to remove fields. Setters and apply() do not perform schema validation. Empty strings can be stored but fail subsequent validation.
The versioned specification asks for at least one VCS field where the extension is used. The published JSON Schema does not enforce that requirement. Set at least one field for a meaningful reference.