Commits


raw object blocksize and read buffer were unused; remove them


cache raw objects in order to speed up gotadmin pack


use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster


match the unsigned char type used by the zlib interface ok stsp


use less memory allocations when formatting log messages Rewrite got_object_commit_get_logmsg() such that only one memory allocation is made when creating a pretty version of a log message. ok naddy@


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


add a user data pointer to struct got_object_qid This will be required by a future 'gotadmin pack' command.


tolerate tag objects which lack tagger timestamp information Fixes interop with repos such as git://github.com/steveicarus/iverilog.git Found by + ok naddy


fix parsing of tag objects which lack a tag message This problem could be triggered with the u-boot repository: $ git clone --bare https://gitlab.denx.de/u-boot/u-boot.git $ got log -r u-boot.git got-read-pack: bad object data got: bad object data $


use size_t for loop indices to avoid signedness warnings; from emaste@freebsd


Stop including <sys/syslimits.h> directly. POSIX says the limits defined there are available from <limits.h>, which almost all affected source files already included anyway. ok millert stsp


in got_object_commit_get_logmsg(), handle log messages which lack '\n' found by tracey's scan-build


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


add optional 'consumed' output parameter to got_inflate_to_mem_fd()


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