Commit Briefs

Stefan Sperling

CHANGES for 0.97 (tags/0.97)


Stefan Sperling

add an xfail test for a case where rebase fails to forward a branch

Because 'got rebase' only does a first-parent traversal it will try to rebase commits which appear in the history of a branch, even when the branch to be rebased is already based on that history. This results in spurious merge conflicts as existing changes get re-applied. The desired behaviour would be that 'got rebase' forwards the branch, as it does when the 'got merge -M' command used by this test case is replaced by a simple 'got merge' which avoids creating a merge commit. Problem reported by naddy in the "Landry's firefox repository" thread: https://marc.gameoftrees.org/mail/1706721001.20565_0.html




Omar Polo

adjust min_datalen in a few places

Fix the computation of min_datalen that was forgotten in 8f137979fc5e284a136cf8950e8b3895d7ea208b. got_privsep_recv_imsg() already takes care of converting GOT_IMSG_ERROR to errors, so just how we didn't need to call recv_imsg_error() at all, we don't need to include it in the requested min_datalen.


Omar Polo

swap the order of the checks to not hide an error

If a libexec process returns an GOT_IMSG_ERROR that happens to be smaller than the requested min_datalen, got_privsep_recv_imsg() returns GOT_IMSG_PRIVSEP_LEN hiding the original error. ok stsp@


Omar Polo

attempt to speed up the deltification for big files

The current hash table perform poorly on big files due to a small resize step that pushes the table to its limits continuously. Instead, to have both a better performing hash table and keep the memory consumption low, save the blocks in an array and use the hash table as index. Then, use a more generous resizing scheme that guarantees the good properties of the hash table. To avoid having to rebuild the table when the array is resized, save the indexes in the table, and to further reduce the memory consumption use 32 bit indices. On amd64 this means that each slot is 4 bytes instead of 8 for a pointer or 24 for a struct got_deltify_block. ok stsp@


Omar Polo

fix invalid imsg_free() in got_privsep_recv_printed_commits()

Depending on the error got_privsep_recv_imsg() may leave imsg un-initialized, so change it to always free the imsg on error if needed, so callers don't have to. got_privsep_recv_printed_commits() and got-read-patch were the only places where we could end up calling imsg_free() on uninitialized imsg, fix them. ok stsp@


Omar Polo

improve execv error message

spotted using -portable on a system without openssh installed. Showing the program we've failed to exec can be handy. ok stsp@


Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.96 (tags/0.96)


Omar Polo

never write accum_buf on error in got_pack_dump_delta_chain_to_file()

and also avoid to override `err' if fwrite fails. ok millert, stsp


Omar Polo

fix use of uninitialized variable in update_blob

spotted by smatch. ok millert@


Omar Polo

plug memory leak in got_pack_dump_delta_chain_to_file()

found by smatch. ok stsp@


Omar Polo

fmt


Omar Polo

pass the argument to calloc in the right order; no-op in practice

reported by smatch.


Omar Polo

fix logging during gotwebd shutdown

During `rcctl stop gotwebd' the sockets process gets a SIGTERM and dies, and this makes the parent process assume it exited abnormally. Instead, catch SIGINT and SIGTERM and exit gracefully. Issue reported by xs on IRC. ok jamsek


Omar Polo

gotwebd: fix colour of target lines in dark mode

reported by xs on IRC, thanks!


James Cook

Test log -b <path> traversing a merge commit.

This tests for the bug fixed by c8255edc. ok stsp@


Stefan Sperling

handle merge commits that are unrelated to requested changed path history

Problem found and fix tested by James Cook.


Omar Polo

plug some fd leaks in the fdopen{,dir} error paths

There's also a memory leak fixed. ok stsp@


Omar Polo

style: no-op change in practice

change so it matches the style used in the rest of the tree. ok stsp


Omar Polo

remove stray abort() call; ok stsp


Omar Polo

remove unneded wbuf->fd = -1

There's no need to set the fd to -1 on ibufs created with imsg_create(3), and it was probably never needed.


Omar Polo

convert to use imsg_get_fd()

While here also fix a fd leak in got-read-pack. We were dup'ing imsg.fd without closing imsg.fd later; instead just use imsg_get_fd() to extract the file descriptor. Tested by falsifian and Kyle Ackerman, thanks! 'go ahead' stsp@