summaryrefslogtreecommitdiff
path: root/graph.h
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-04-02 20:34:16 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-02 21:27:31 (GMT)
commitb84f767c8a9bcf69b4cfa7fbe44441201a12541e (patch)
tree092ba7c4004b2ac7682510345f080c3a365fb163 /graph.h
parentcfe83216e404223ce8c5f6ef79c4ba9a27ff872e (diff)
downloadgit-b84f767c8a9bcf69b4cfa7fbe44441201a12541e.zip
git-b84f767c8a9bcf69b4cfa7fbe44441201a12541e.tar.gz
git-b84f767c8a9bcf69b4cfa7fbe44441201a12541e.tar.bz2
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 'graph.h')
0 files changed, 0 insertions, 0 deletions