2.3 File Structure

A revision store file MUST begin with a Header structure (section 2.3.1). The remainder of the file is partitioned into blocks of bytes, where the size and structure of each block is specified by the field that references it. A block is reachable if it is referenced by the Header structure, or if it is referenced by a field in another reachable block. Data outside the Header structure and any reachable blocks MUST be ignored.

All structures are aligned on 1-byte boundaries. All integers are signed unless otherwise specified. All fields are little-endian unless otherwise specified.