summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authorLibravatar Derrick Stolee <dstolee@microsoft.com>2018-04-02 16:34:16 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-04-02 14:27:31 -0700
commitb84f767c8a9bcf69b4cfa7fbe44441201a12541e (patch)
tree092ba7c4004b2ac7682510345f080c3a365fb163 /object.c
parentcsum-file: refactor finalize_hashfile() method (diff)
downloadtgif-b84f767c8a9bcf69b4cfa7fbe44441201a12541e.tar.xz
commit-graph: add format document
Add document specifying the binary format for commit graphs. This format allows for: * New versions. * New hash functions and hash lengths. * Optional extensions. Basic header information is followed by a binary table of contents into "chunks" that include: * An ordered list of commit object IDs. * A 256-entry fanout into that list of OIDs. * A list of metadata for the commits. * A list of "large edges" to enable octopus merges. The format automatically includes two parent positions for every commit. This favors speed over space, since using only one position per commit would cause an extra level of indirection for every merge commit. (Octopus merges suffer from this indirection, but they are very rare.) Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object.c')
0 files changed, 0 insertions, 0 deletions