Commit Briefs

Omar Polo

style


Omar Polo

got_imsg_raw_delta_request: use struct instead of buffer for id

ok stsp@


Omar Polo

got_imsg_packed_object: use struct instead of buffer for id

ok stsp@


Stefan Sperling

avoid traversing enumerated commits more than once in got-read-pack

Keep track of parent commits that will be processed as part of looping over the commit queue provided by the main process, and do not add these commits to the queue again. Fixes pointless traversal of commits on the queue which will simply be skipped. The end result is the same either way. ok tracey


Stefan Sperling

fix missing commits in pack files created with packed object enumeration

got-read-pack forgot to send a tree-enumeration-done message to the main process if the tree of a given commit had already been traversed. The main process would then not add the corresponding commit to the pack file, even though it should be added. Found while using 'got send' towards gotd in order to populate an empty repository on the server with non-trivial history, where some commits always ended up missing due to this bug. ok tracey



Omar Polo

check size before calling mmap(2)

It's only a preparatory step, as checking whether a size_t is less than SIZE_MAX is moot. In a follow-up commit, however, the `filesize' field of the struct got_pack will become off_t and these checks will kick in. This also makes consistent how we guard mmap(2) against empty files. ok and improvements stsp@


Stefan Sperling

allow got_object_parse_tree to reuse entries buffer allocations for speed

ok millert@



Omar Polo

mark got_error_fmt as printf-like and fix the arisen errors

ok stsp@


Stefan Sperling

implement support for commit coloring in got-read-pack for speed

ok op, tracey



Stefan Sperling

fix a bug in got_privsep_send_object_idlist() exposed by recent changes

The old code did not work correctly if only a single object Id was to be sent to got-read-pack. Make got-read-pack error out if the list of commits for object enumeration is empty to catch this problem if it occurs again. Found by the send_basic test, which was failing with GOT_TEST_PACK=1 ok tracey


Stefan Sperling

let got-read-pack be explicit about whether it could enumerate all objects

This allows the main process to avoid looping over all object IDs again in case the pack file used for enumeration is complete. ok op@