Snapshots
Overview
A snapshot is an immutable, point-in-time record of the entire file system within a branch. Each snapshot captures the exact state of every file and folder - including their contents, names, locations, and metadata - at the moment the snapshot was created. Snapshots are the Version Control System's mechanism for preserving historical states, enabling users and the platform to reference exactly what the project looked like at any previous point in time.
Snapshots are created automatically as file operations are performed within a branch. Each time a transaction (or group of transactions) is committed, a new snapshot is generated that reflects the resulting state of the file system. This means the project's history is represented as a chain of snapshots, each building on the previous one.
Snapshot Identification
Every snapshot is identified by a unique snapshot hash - a string that serves as an immutable reference to that specific state of the file system. The current snapshot hash is displayed in the footer of the file explorer interface, providing a persistent visual indicator of which version of the file system is currently being viewed.
The snapshot hash can be used to:
- Confirm which version of the file system is currently active in the file explorer.
- Reference a specific state when communicating with team members or support.
- Verify that a build or deployment was performed against the expected version of the project files.
Snapshot Immutability
Snapshots are immutable by design. Once a snapshot is created, it cannot be modified, overwritten, or deleted. This guarantees that any reference to a snapshot hash will always resolve to the same file system state, regardless of subsequent changes to the branch. This property is critical for auditability and traceability in industrial automation environments, where the ability to prove exactly which version of a program was deployed to a device at a given time may be a regulatory or safety requirement.
TIP
The snapshot hash displayed in the file explorer footer serves as a unique fingerprint for the current state of the project files. Record this hash when performing builds or deployments to maintain a clear audit trail of which file versions were used.
