Commits


include sha2.h too where sha1.h is included In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp


improve error reporting when delta application fails


make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere ok millert, naddy


convert tree entries from SIMPLEQ to an array


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


avoid dependency on delta.o in binaries which don't need it


rename got_error_prefix_errno() to got_error_from_errno()


got_error_from_errno -> got_error_prefix_errno also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)


make got path APIs available to library consumers


check for errors from fclose()


remove struct got_object from public library API


check for size_t overflow in got_delta_apply_in_mem() like libgit2's c15771104 (delta: fix overflow when computing limit)


bounds checks before memcpy in got_delta_apply_in_mem()


no need to zero got_delta during allocation


don't store copies of packfile paths in each delta


rename zbuf to inflate


store commit timestamps as 'struct tm' in UTC


look up deltas in the correct pack file


rename the library-internal headers again to a common prefix


cache delta data in struct got_delta directly


set obj->size of packed deltified objects to object's actual size


stop opening pack files redundantly to read deltas


process small deltas in memory; unfortunately it is not faster...


process delta chains in memory if max size is < 32 MB