====== Version Control System ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go to Terms and Definitions]] ===== Discussion ===== A Version Control System performs [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] for one or more [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]. The system records distinct Artifact revisions and preserves the relationships among them. A Version Control System allows an authorized user or process to: * Add an Artifact to Version Control * Assign an identifiable revision * Retrieve an identified revision * Distinguish one revision from another * Record a relationship between revisions * Compare revisions * Record changes to an Artifact * Restore or reuse an identified revision A Version Control System may manage: * Source code * Configuration files * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]] * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_blueprint|Infrastructure Blueprints]] * Models * Schemas * Scripts * Policy files * Build specifications * Documentation A Version Control System differs from Version Control: * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] is the process for managing revisions * A Version Control System is a system that performs that process A Version Control System may include a repository, revision identification, comparison, branching, merging, access control, and retrieval capabilities. The presence or use of any particular capability depends on the applicable requirements. ===== Definition ===== //system that performs version control by recording identifiable revisions of artifacts and preserving the relationships among those revisions// ===== Source ===== Dido Solutions, Inc. and Jackrabbit Consulting, Inc. ===== Note ===== A Version Control System does not by itself establish that a revision is approved, released, deployed, authoritative, or subject to a specified retention period. A Version Control System may record information such as: * Revision identifier * Preceding revision * Succeeding revision * Change author * Change timestamp * Change description * Repository location The applicable requirements determine which information the system must preserve. The term does not require a particular product, repository architecture, branching model, merge model, storage technology, or deployment method. ===== Example ===== A Version Control System assigns an identifiable revision to an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]], records its relationship to the preceding revision, and permits an authorized deployment workflow to retrieve it. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.