Attribute hash

An attribute hash is the hash of a file's attributes.

Body hash

A body hash is the hash of a file's body.

Children hash

A children hash is the hash of a file's children.


As a noun: a commit is a saved version of a branch.

As a verb: committing is the act of saving the current version of a branch.

File hash

The file hash identifies an exact version of the file and its subtree. Changing the file or any part of its subtree will result in a new file hash.


In the context of Boomla, a hash is a unique identifier of an object.
Example: 01ed8bb7a8ad5500c8885da1575f77068d0777606d

Hash-based link

A hash-based link mounts another volume by its hash. The mounted volume is part of the filesystem and the link can not break.
Modifying a volume mounted via a hash-based link causes hash change propagation in the linking volume.

File links are either hash-based or location-based.

Hash change propagation

The hash of a file is calculated from its properties, attributes, body and children. If a file changes, it will cause the hash of its parent file to be recalculated and so on upwards in the tree. This is called hash change propagation.

Integrity check

Integrity checking a filesystem is the act of validating all of its data structures. If the integrity check passes, all data is accessible and intact, no single bit has been damaged.

Package hash

A package hash is the root hash of a package filesystem.

Package link

A package link is a file link mounting a package by its hash. The package link is a hash-based link: the mounted subtree becomes part of the website and remains there even if the original package website is removed. 

Example: package 01ed8bb7a8ad5500c8885da1575f77068d0777606d

Root hash

A root hash is the file hash of a root file. Either a filesystem root file, or a volume root file.


A snapshot is a specific version of a filesystem or volume. Snapshots are immutable, identified by a hash.

Volume hash

A volume hash is the root hash of a volume.