/* Commanly used, give a name */ type Metadata [string] variant; type Checksum []byte; type RefInfo { commit_size: uint64; checksum: Checksum; metadata: Metadata; }; /* Note: RefMaps are sorted by ref */ type RefMap [] 'RefMapEntry { ref: string; info: RefInfo; }; type Summary { ref_map: RefMap; metadata: Metadata; }; type CollectionMap [sorted string] RefMap; type Commit { metadata: Metadata; parent: Checksum; related: [] 'Related { ref: string; commit: Checksum; }; subject: string; body: string; timestamp: bigendian uint64; root_contents: Checksum; root_metadata: Checksum; }; type Cache [sorted string] 'CacheData { installed_size: bigendian uint64; download_size: bigendian uint64; metadata: string; }; type SparseCache [sorted string] Metadata; type CommitsCache []Checksum; type DeployData { origin: string; commit: string; subpaths: []string; installed_size: bigendian uint64; metadata: Metadata; }; type ContentRating { rating_type: string; ratings: 'Ratings [string] string; }; type ExtraDataSize { n_extra_data: littleendian uint32; total_size: littleendian uint64; }; type Subsummary { checksum: Checksum; history: []Checksum; metadata: Metadata; }; type SummaryIndex { subsummaries: [sorted string]Subsummary; metadata: Metadata; }; type ObjectListInfo { is_loose: boolean; packfiles: []string; }; type ObjectName { checksum: string; objtype: uint32; }; type ObjectNames []ObjectName;