Version Control
Overview
The Version Control System is a fully integrated file management and versioning service built into the Mutexer platform. It provides a web-based file explorer interface that enables browsing, organizing, and managing all files within a project, with complete version tracking across multiple branches. Every file operation - whether a creation, upload, rename, move, or deletion - is recorded as a transaction with full attribution, timestamps, and a unique hash identifier. The system is designed for industrial automation workflows where traceability, auditability, and the ability to roll back to a known-good state are critical requirements.
The Version Control System operates at the project level and is accessible through the project settings tab. It consists of two primary components: a file explorer that presents the project's file system as an interactive hierarchical tree with drag-and-drop support, context menus, and lazy-loading, and a version tracking engine that manages branches, snapshots, and transactions to provide a complete history of every change made to the project's files.
Core Concepts
The Version Control System is built around three foundational concepts:
Branches represent independent versions of the project's file system. Each branch maintains its own complete file tree, and changes made in one branch do not affect others. Branches can be switched between at any time, and each branch tracks its own history of changes.
Snapshots are immutable, point-in-time records of the entire file system within a branch. Each snapshot is identified by a unique hash and represents the exact state of every file and folder at the moment the snapshot was created. Snapshots provide the ability to reference or restore a specific historical state of the project.
Transactions are individual change records that capture every file operation performed within a branch. Each transaction records what changed, who made the change, when it occurred, and a description of the operation. Transactions are grouped by description and date, providing a structured audit trail of all modifications.
File Explorer Structure
The file explorer presents the project's files in a hierarchical tree with three root-level sections:
Source contains the project's primary source files and folders. This is the main working area where program files, configuration files, and supporting assets are organized.
Dependencies contains external libraries and packages that have been added to the project from the platform's package registry. Dependencies are managed separately from source files and are versioned alongside them.
Scratch provides a workspace area for temporary or experimental files that are not part of the primary source tree.
Within each section, folders are displayed before files, and both are sorted alphabetically. Folders can be expanded and collapsed, and the expand/collapse state is persisted across sessions.
INFO
The Version Control System requires at least one device with an active Agent connected to the project. File operations and deployments are executed through the Agent on the target device.
