Commits


fix snprintf error handling follow the "proper secure idiom" described in the CAVEATS section of printf(3). reminded by tb@ and millert@


convert two snprintf to strlcpy "looks good to me" millert@


check for fprintf failure


got(1): Replace 'Ar sign' with 'Cm sign' Cm sign matches the markup used in the ssh-keygen(1) man page. Patch by Josiah Frentsos


regress: adjust expected usage output in "revert_no_arguments" test


Group options in accordance with style(9) patch by Josiah Frentsos


gotwebd: fix double free in gotweb_process_request don't free the querystring, it's already done later by fcgi_celanup_request. ok tracey@


tog: add missing checks for NULL pointers in log view state ok jamsek


tog: don't block when processing log view 'G' key map As per stsp's TODO item, make tog respond to key presses while "loading..." history. Initial testing in src.git appears to work as intended. ok stsp@


tog: fix delayed tree index update If a child blame view has been opened, halfdelay() is reset to a 1 second refresh rate, so the index in the header lags behind subtree navigation as we set the index based on the selected tree entry, which isn't updated till that refresh cycle completes. Don't wait for the selected_entry to update; instead, compute the index from the first displayed entry and the currently selected line index. improved by and ok stsp@


tog: move all 'G' logic into log_move_cursor_down() Previously, we only handled 'G' in log_move_cursor_down() when all commits had not yet been loaded; move the case where all commits are already loaded into this routine too, and simplify by handling both cases the same. This change was prompted by Mikhail's observation of a redundant assignment in the previous 'G' handling in log_move_cursor_down(). ok stsp@


tog: fix log 'd' keymap when last commit is displayed When at the end of the log view such that the currently selected line is greater than nlines/2, add--don't assign--the page down value to the selected index so we don't jump up when the user expects tog to scroll down. While here, rework log page down logic for a smoother UX in horizontal split mode by moving the selection cursor down rather than scrolling when 'd' or 'f' is entered if the last commit is already on screen. ok stsp@


fix unused variable, function definition warnings for clang 15


convert gotwebd.conf "bind interface IP/iface" to "listen on IP/iface" ok kn, tracey


gotwebd: fix alternate colors in tree entries it was broken in 7ecc454 because now we're emitting tags with multiple `class' attributes (by mistake) and only the first one is used. However, instead of fixing the HTML `class' attribute, use a CSS selector to alternate the background colors. ok tracey@


gotwebd: add a some buffering This adds some buffering to fcgi_gen_binary_response so that we don't end up sending too many (very) small fastcgi records. While here also make fcgi_send_response non-void and make its errors "sticky". ok tracey@


gotwebd: switch some HTML IDs to classes HTML IDs are meant to be unique across the page. While here fix two small errors in the generated HTML (one missing closing div and one extra.) ok tracey@


gotwebd: wrap __packed around __attribute__ Needed for -portability reasons. OK op@


remove the last remaining use of sin_len from gotwebd I don't think this assignment to sin_len is needed at all, because sin_len is already being set via got_sockaddr_inet[6]_init() during the configuration stage. Tested successfully on both fcgi socket types (unix / tcp).


tog: drop regex for line types to colour the diff view ok stsp@


avoid allocating too many errors in cmd_info got_error_path uses get_custom_err to get a statically allocated error allocated on a buffer that's used a ring. This is nice and simple, but the drawback is that thees custom errors shouldn't be used "for too long" because they might get overwritten later. cmd_info is one offender: change it to store a "simple" error and later re-use it to construct the per-path error. OK and tweaks stsp@


add some TODO items for gotwebd


tweak tag_test_create to detect the issue fixed in previous commit


fix "got tag" not tagging the work tree's current branch by default found by jrick


tog: keymaps to jump to next/prev file/hunk in the diff Add () and {} key maps to navigate to the previous and next file or hunk in the diff. This required changing Got's diff API to collect line type metadata in addition to the line offsets already produced as prompted by stsp. ok stsp@