Commits


fix off_t type mismatches off_t is a signed type and depending on the platform, it can be "long" or "long long", so cast to long long for printf(). ok stsp


allow start_pack_privsep_child() to be called from outside lib/object.c


open temporary files needed for delta application in got_repo_open() This prepares for callers of got_repo_open() that cannot afford to open files in /tmp, such as gotwebd. In a follow-up change, we could ask such callers to pass in the required amount of open temporary files. One consequence is that got_repo_open() now requires the "cpath" pledge promise. Add the "cpath" promise to affected callers and remove it once the repository has been opened. ok tracey


avoid get_delta_chain_max_size() in dump_delta_chain_to_mem()


avoid get_delta_chain_max_size() in dump_delta_chain_to_file()


store deltas in compressed form while packing, both in memory and cache file This reduces memory and disk space consumption during packing. with tweaks + memleak on error fix from op@ ok op@


inline struct got_object_id in struct got_object_qid Saves us from doing a malloc/free call for every item on the list. ok op@


remove needless header inclusion; lib/pack.c does not need got_opentemp.h


factorize imsg_clear calls after imsg_flush failures imsg_clear frees and closes resources allocated as part of enqueueing imsgs so it's a no-op after reads. discussed with and ok stsp@


reuse existing deltas when creating pack files tested by thomas, naddy, and myself


fix double-free and double-close issues in error paths of got_packidx_open()


fix file corruption regression in 'got checkout' caused by commit db696021 got-read-pack must rewind its files temporary files before reusing them. Problem reported by naddy ok tracey naddy


add missing checks for reads beyond the mapped memory area of a pack file


fix bogus "object not found" errors when object ID begins with 00 ok thomas_adam


wrap overlong lines