diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-12 14:21:04 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-12 14:21:04 -0800 |
commit | 3c12d0b885918fb5c6d5cb2be538639a52e1ef53 (patch) | |
tree | 89560c36c500d291b9a61ba9c1dbce13593b7269 /Documentation/technical | |
parent | 2c873f97913994f8478a9078ff8b62e17378a0ed (diff) | |
parent | 6885cd7dc573b1750b8d895820b8b2f56285f070 (diff) | |
download | git-3c12d0b885918fb5c6d5cb2be538639a52e1ef53.tar.gz |
Merge branch 'tb/pack-revindex-on-disk'
Introduce an on-disk file to record revindex for packdata, which
traditionally was always created on the fly and only in-core.
* tb/pack-revindex-on-disk:
t5325: check both on-disk and in-memory reverse index
pack-revindex: ensure that on-disk reverse indexes are given precedence
t: support GIT_TEST_WRITE_REV_INDEX
t: prepare for GIT_TEST_WRITE_REV_INDEX
Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
builtin/pack-objects.c: respect 'pack.writeReverseIndex'
builtin/index-pack.c: write reverse indexes
builtin/index-pack.c: allow stripping arbitrary extensions
pack-write.c: prepare to write 'pack-*.rev' files
packfile: prepare for the existence of '*.rev' files
Diffstat (limited to 'Documentation/technical')
-rw-r--r-- | Documentation/technical/pack-format.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/technical/pack-format.txt b/Documentation/technical/pack-format.txt index 96d2fc589f..8833b71c8b 100644 --- a/Documentation/technical/pack-format.txt +++ b/Documentation/technical/pack-format.txt @@ -274,6 +274,26 @@ Pack file entry: <+ Index checksum of all of the above. +== pack-*.rev files have the format: + + - A 4-byte magic number '0x52494458' ('RIDX'). + + - A 4-byte version identifier (= 1). + + - A 4-byte hash function identifier (= 1 for SHA-1, 2 for SHA-256). + + - A table of index positions (one per packed object, num_objects in + total, each a 4-byte unsigned integer in network order), sorted by + their corresponding offsets in the packfile. + + - A trailer, containing a: + + checksum of the corresponding packfile, and + + a checksum of all of the above. + +All 4-byte numbers are in network order. + == multi-pack-index (MIDX) files have the following format: The multi-pack-index files refer to multiple pack-files and loose objects. |