Commit 49ec2a59 authored by Emanuele Aina's avatar Emanuele Aina

system-updates-and-rollback: Compare OSTree and git

To ease understanding how OSTree works to people who already know a bit
about git, let's point out the similarities of the conceptual models for
their repositories.

See Emanuele Aina's avatarEmanuele Aina <>
parent 77cea4ec
......@@ -266,9 +266,29 @@ provides a good balance between complexity and robustness.
### The OSTree model
OSTree deals with:
- repositories - store one or more versions of the filesystem contents
- deployments - a specific filesystem version checked-out from the repository
The conceptual model behind OSTree repositories is very similar to the one used
by `git`, to the point that the [introduction in the OSTree
manual]( refers
to it as "git for operating system binaries".
Albeit they take different tradeoffs to address different use-cases they
both have:
* file contents stored as blobs addressable by their hash, deduplicating them
* filetrees linking filenames to the blobs
* commits adding metadata such as dates and comments on top of filetrees
* commits linked in a history tree
* branches pointing to the most recent commit in a history tree, so that
clients can find them
Where `git` focuses on small text files, OSTree focuses on large trees of
binary files.
On top of that OSTree adds other layers which go beyond storing and
distributing file contents to fully handle operating system upgrades:
- repositories - store one or more versions of the filesystem contents as
described above
- deployments - specific filesystem versions checked-out from the repository
- stateroots - the combination of immutable deployments and writable directories
Each device hosts a local OSTree repository with one or more deployments
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment