20 lines
No EOL
881 B
Markdown
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
|
|
``` |