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.