pack-mtimes: support reading .mtimes files
To store the individual mtimes of objects in a cruft pack, introduce a new `.mtimes` format that can optionally accompany a single pack in the repository. The format is defined in Documentation/technical/pack-format.txt, and stores a 4-byte network order timestamp for each object in name (index) order. This patch prepares for cruft packs by defining the `.mtimes` format, and introducing a basic API that callers can use to read out individual mtimes. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3d89a8c118
commit
94cd775a6c
@ -294,6 +294,25 @@ Pack file entry: <+
|
||||
|
||||
All 4-byte numbers are in network order.
|
||||
|
||||
== pack-*.mtimes files have the format:
|
||||
|
||||
All 4-byte numbers are in network byte order.
|
||||
|
||||
- A 4-byte magic number '0x4d544d45' ('MTME').
|
||||
|
||||
- A 4-byte version identifier (= 1).
|
||||
|
||||
- A 4-byte hash function identifier (= 1 for SHA-1, 2 for SHA-256).
|
||||
|
||||
- A table of 4-byte unsigned integers. The ith value is the
|
||||
modification time (mtime) of the ith object in the corresponding
|
||||
pack by lexicographic (index) order. The mtimes count standard
|
||||
epoch seconds.
|
||||
|
||||
- A trailer, containing a checksum of the corresponding packfile,
|
||||
and a checksum of all of the above (each having length according
|
||||
to the specified hash function).
|
||||
|
||||
== multi-pack-index (MIDX) files have the following format:
|
||||
|
||||
The multi-pack-index files refer to multiple pack-files and loose objects.
|
||||
|
Reference in New Issue
Block a user