Commits


remove trailing whitespace; patch by Josiah Frentsos


parse tree entries into an array instead of a pathlist Avoids some extra malloc/free in a performance-critical path. 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@


fix loose object file header parser for zero-length headers ok millert tracey


map raw object files into memory while packing if possible


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


add copyright year for files already touched in 2020


rename to parsed_tree_entries_free for clarity (don't use with got_tree_object)


plug a memory leak; parsed tree entries were not freed


convert tree entries from SIMPLEQ to an array


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