Manifest Feature MatrixΒΆ
Original spreadsheet
Num | Hash | Client On-Disk Manifest Format | Client Tree Manifest On-Desk | Tree Manifest in Exchange | Consequences: Read-delta works | Sane? | Use Case | Benefits | Interesting? |
2 | Current | V1 | No | No | Yes | Yes | Existing Projects | Mostly read-delta | Obviously |
6 | Current | V2 | No | No | No | ? | Size: 30% smaller without general delta | ? | |
8 | Current | V2 | Yes | No | No | Yes | Mozilla | Rebase et. al faster on client, old clients won’t break | ? |
9 | Current | V2 | Yes | Yes | No | Kind of | Exchange for modern client and server in above case | ||
14 | Tree | V2 | No | No | No | Maybe | Small new project | Compact representation, less disk seeks | |
17 | Tree | V2 | Yes | Yes | No | Yes | Narrow clones | Obviously |
- Next step: analyze storange and perf of 14 and 17 on normal-size and mozilla-size repos to see if we should support 6 and 8.
- Concern: if exchange uses v1 format and disk uses v2, we have to do transformation between formats to apply deltas.
- If we can’t do old client compat, then we should only do row 2 and 17
- New delta encoding might also be worth considering, but completely orthogonal to this.