Commits


portable: add FreeBSD support This adds the capability to compile got-portable on FreeBSD.


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


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


reduce the amount of memcpy() and strdup() while parsing tree entries


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


handle empty trees during 'import' and 'checkout'; spotted by sthen@


Show only whitelisted commit headers in 'got log' Generic way to deal with gpgsig header or extra headers added by some tools. All headers still available via 'got cat' ok stsp@


have got_object_parse_* check for zero-length input


make 'got cat' show raw log messages, i.e. leaving PGP sigs intact


properly parse timestamps in commit objects as UTC (patch by Hiltjo Posthuma)