Commit Briefs

Stefan Sperling

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@


Stefan Sperling

reuse existing deltas when creating pack files

tested by thomas, naddy, and myself


Stefan Sperling

avoid the creation of new temporary files whenever a packed object is read

This speeds up the creation of pack files by about 30%.


Stefan Sperling

wrap overlong lines


Stefan Sperling

don't scan pack index offsets for large values if pack file is < 2GB

This saves an iteration over the entire h->offsets array when opening a pack index which should not contain large offsets in the first place. ok millert@




Stefan Sperling

expose got_pack_parse_ref_delta() for library-internal use

This will be needed by a future 'gotadmin listpack' command.


Stefan Sperling

expose got_packidx_get_object_offset() for library-internal use

This will be needed by a future 'gotadmin listpack' command.




Yang Zhong

add fd field to got_repository, modify got_packidx_open to use fds

These changes are intended to make got more compatible with FreeBSD's Capsicum. ok stsp