Commits


use the POSIX standard endian functions and explicitly include <endian.h> ok stsp


do not rely on <zlib.h> to pull in <unistd.h> ok stsp


remove got_packidx_get_object_idx_sha1(); it is not actually needed


write large objects to disk when resolving deltas; raise in-mem delta threshold


extract large objects to a temporary file in got-index-pack


add mmap support to got-index-pack


do not buffer more data than necessary in got_inflate_to_mem_fd()


avoid re-reading the entirety of an object's data to calculate the CRC


rewritten got-index-pack; sorry about the monster commit


add optional 'consumed' output parameter to got_inflate_to_mem_fd()


remove unneeded memory allocations from ref delta parser which were leaking


add support for first-parent history traversal to got-read-pack


add copyright year for files already touched in 2020


fix reading ref deltas with GOT_PACK_NO_MMAP builds


remove obj->path_packfile which is unused nowadays; saves a few free() calls


cache delta data buffers in an LRU cache


stop storing decompressed delta data in struct got_delta; fetch it on demand


when an object id string is bad, include the bad string in the error message


fix reading pack files larger than 2GB; ok tb@; problem found by mpi@


properly handle read errors in got_packidx_init_hdr (found by jj@ scan-build)


plug error leak in got_packidx_init_hdr(); found by jj@ with scan-build


got_packidx_open: free packidx object when open(2) fails


fix reading pack index files with large offsets (patch by Hiltjo Posthuma)


fix build on OpenBSD/sparc64 (gcc)


call got_object_id_queue_free() instead of implementing it inline