A change store is a trait for change storage facilities. Even though changes are normally stored on disk, there are situations (such as an embedded Pijul) where one might want changes in-memory, in a database, or something else.
Treating strings as paths. For portability reasons, paths must internally be treated as strings, and converted to paths only by the backend, if required (in-memory backends will typically not need that conversion).
Record a change from a pristine and a working copy.
A node in the repository graph, made of a change internal identifier, and a line identifier in that change.
An iterator over all the paths in the working copy.
Algorithm used to compute the diff.
A structure representing a file with conflicts.