Changes, tasks

A change is a core concept of the workshop state management system. Any long-running or invasive operation (e.g., launch) that changes the state of a workshop is planned and applied as a change, which consists of specific tasks that run in a predefined order.

A task is a small, independent piece of logic; it could be mounting a project directory, running a hook, or starting a workshop container. Most tasks are reversible.

Overall, this scheme provides granular control over the state of a workshop; the state management system uses it to ensure the integrity of the workshop in the event of failure. By default, a failed change restores the workshop to its last operational state.

To explicitly revert to the state after the last successful launch or refresh, use the workshop restore command. It restores the container filesystem from the most recent snapshot and resets all connections and mounts to their defaults. Unlike the automatic rollback during a failed refresh, restore is a deliberate user action to discard all changes made to a workshop since it was last set up.

See also

Explanation:

How-to guides:

Reference: