venus/BRANCHES.md

20 lines
No EOL
881 B
Markdown

# Branch file format
Branches are stored in a binary format that stores a list of objects in that branch along with the branch it came from(if any). Numbers are in little-endian unless otherwise noted. The entries should be ordered chronologically with earlier first.
```
0xB7ACF11E: Magic number
0x00000000: 32-bit version. By convention, unofficial branch formats should have the left-most(commonly referred to as the 31st bit) set.
0x0000000000000007: 64-bit number of entries
0x0000000067D9F6C9: 64-bit unix timestamp of the branch's creation in seconds
0xEAE1168D9B0245679DFC6DB5E8949C03: The branch's UUID. MUST be cryptographically random!
(entries)
```
Each entry is a reference to an object in the format:
```
0x182E06194DB125D7: 64-bit unix timestamp(in nanoseconds) of the object's creation
0xCF83E1357EEFB8BD: The SHA512 hash of the object truncated to 64 bits
```