Skip to content

Snapshots and history

Layertrail’s history model has three ideas.

The current project is the only thing you ever edit. It’s what you see in the tree, and it’s what Layertrail.layertrail holds. Layertrail shows whether it has changes since your last snapshot or currently matches a named snapshot.

A snapshot is a named, fixed record of the whole current project at one moment. You give it a name (software-upgrade-test-fails) and, optionally, a description of up to 2,000 characters: why you saved it, a test or ticket ID, what you observed, a link to evidence.

Snapshots can’t be edited after they’re saved, and neither can their descriptions. Changing a description later would change the historical record without changing the configuration it describes.

The descriptions appear in the timeline, in comparisons, in a node’s history, and in exported reports.

Reverting makes the current project match an earlier snapshot. It doesn’t open the snapshot for editing, and it doesn’t delete anything that came after. It adds an entry to the timeline:

A created initial-lab-config
B created new-equipment-installed
C created software-upgrade-test-fails
Current project reverted to B
D created alternate-software-test-passes

C stays, because the failed attempt is part of the story. When you save D, Layertrail records that it was based on B, so you can later answer “where did this configuration come from?”

If the current project has changes that aren’t in any snapshot, Layertrail saves a recovery point before reverting, so reverting never loses work. When you revert past later snapshots, as in the example above, Layertrail asks for a note saying why, because that’s the moment a future reader will want the reason.

Each snapshot’s contents are stored as a Git commit and tag in the project’s .git folder. Git is a proven, durable, inspectable store, and anyone can audit it with standard tools. The timeline around the snapshots (descriptions, reverts, lineage, recovery points) lives in .layertrail/history.json, and Layertrail keeps an automatic backup of it. But Layertrail never asks you to think about commits, branches, or merges. The timeline is the interface.

Moving or backing up a project with its history

Section titled “Moving or backing up a project with its history”

Copying the project folder works. For a single portable file, use Export archive, which bundles the project and its full snapshot history with checksums. See Archives.