Commits


remove got_pathlist_append() Remove got_pathlist_append(). This leaves got_pathlist_insert() to add items to a pathlist, making it very easy to swap got_pathlist from a TAILQ to a RB_TREE. Patch by Kyle Ackerman


gotwebd: improve performance of repository age calculations Instead of sorting refs by name and then hunting for the youngest commits in that list, obtain an appropriately sorted list via got_ref_cmp_by_commit_timestamp_descending and then pick the first ref from this list. And in the case were we already know which ref to check, just open this ref directly instead of listing all the refs. Easier to read and should improve performance in both cases. ok op, jamsek


remove unused imsgbuf ok jamsek, stsp


gotwebd: ensure child procs inherit non-default config If a non-default config filepath is specified with -f, it is effectively ignored as child processes always either parse the default config file (/etc/gotwebd.conf) if it exists, or use defaults. Options specified in the config file used by server procs (e.g., chroot, user) are ignored. If -f is used with a non-default config file, pass it to child procs. ok stsp@


fix bogus "reference not found" error from 'got send' When a reference exists on the server but not locally, 'got send' could fail to ignore this reference as intended, raising an error instead. Add a test case for this isssue.


fix a typo in CHANGES, spotted by teajaygray@rap.social


bump version number


CHANGES for 0.105


whitespace


plug memory leaks in 'got fetch' and 'got send' In addition to the previous commit [c450903bc2] that plugged fetch and send leaks, free what would be the path entry's path member, which is leaked when attempting to add a duplicate. And in the fetch case, free refname and id when got_pathlist_insert() returns err. ok stsp@


make gotwebd.css styling consistent across all window sizes Patch by op@, who is at the wrong computer right now


slight code simplification, seeing that clear_meta(NULL) is fine


plug a memory leak in got_pack_create() Patch by: Kyle Ackerman


minor gotwebd.css styling changes for some QoL updates on mobile devices Patch by Bradley Taunt ok op@


plug memory leaks in 'got fetch' and 'got send' Check for duplicate items added to pathlists, and free associated data in case we were attempting to add a duplicate. Patch by: Kyle Ackerman


add a todo item for the 'got send' command


do not call fmemopen(3) with a zero size argument Calling fmemopen(3) with a size of zero leads to an "Invalid argument" error. One symptom of this issue are failing gotd notifications: gotd[48539]: render notification: fmemopen: Invalid argument Add an email notification test case which triggers the above error. Reported by Mischa Peters


plug some leak around imsg_init() error paths tested and ok stsp@


tidy up error handling and reporting in repo_write_dispatch() a bit ok op@


plug fd leak on OOM


delete trailing whitespaces done mechanically with $ find . -iname \*.[ch] -exec sed -i -E 's/[[:space:]]+$//' {} + with some revert for bundled files and a manual tweak for got-fetch-http.c


regress: got {revert,unstage} -p binary file; ok stsp@


don't iterate binary file changes with (un)stage/revert -p As reported by Johannes Thyssen Tishman, 'got stage -p $binaryfile' iterates each hunk, and produces unexpected behaviour when answering 'y'. Instead, present the standard "Binary files differ" message and only allow staging (or unstaging or reverting) the entire binary file. Includes tests for stage -p but unstage and revert -p tests are still needed. tweak + ok stsp@


update EWAH todo item


add todo item for ewah bitmaps