Commits


tog man page: Be more precise when first introducing split layout terminology.


tog man page: improve spacing with a .Pp before global key bindings


tog man page: tweak documentation of vertical/horizontal split for clarity


improve documentation of the histedit 'mesg' command prompted by a question by op@


tog: only request commits when child hsplit increases Fix bug introduced in 3c1dfe12b3 that fails to properly populate child log views due to incorrect request_log_commits() calls: (1) when increasing the bottom hsplit in a ref/log splitscreen; and (2) when reopening a child log view after closing a resized child log view: $ TOG_VIEW_SPLIT_MODE=h tog ref return # open log view in bottom split 4+ # increase log (child/bottom) split *new log lines are not populated* q # close log view return *commits are not loaded* ok stsp@


tog: adjust view line offset when resizing hsplit Squish bug that can move the selection cursor offscreen when resizing horizontal splits due to bogus offset: $ TOG_VIEW_SPLIT_MODE=h tog # 80x24 22j return # open diff view in a hsplit tab # focus log (top) split 10+ # increase top split by 10 lines 22j return # open diff view in a hsplit F # toggle fullscreen diff view tab # focus log (parent) view in fullscreen *selection cursor will be off the bottom of the screen* ok stsp@


tog: enable moving to prev/next blame line in diff view Blame/diff view counterpart of log/diff <,.> key maps to traverse commits corresponding to each line of the annotated file from the diff view. Includes fix from stsp@ to work while the file is still annotating. ok stsp@


tog: make 'S' switch split mode irrespective of the view Always switch internal split state and redraw view according to the constraints of the new mode. suggested by and ok stsp@


make 'tog log' error out in shallow Git repositories instead of hanging ok op@


portable: regress: fix sed parsing When making sed's command-line flags portable, don't split on $@ before parsing it, as this won't preserve the original string which needs passing to sed unmodified if it's never had to be changed.


portable: regress: add test stage to all runs Whenever a CI change is made, also run the test suites. This is enabled for just Ubuntu and FreeBSD for now.


portable: regress: improve sed handling When massaging sed command strings, to handle the differences between "-i ''" not meaning the same thing on non-BSD systems, this previously used a bashism to determine the positional arguments. Instead, defer to using a loop which doesn't rely on bashisms.


portable: regress: remove backticks from string Remove erroneously-placed backticks when describing a lack of GNU coreutils.


portable: regress: make OS-detection sh-compatible Don't rely on $OSTYPE being available, which it isn't in strict POSIX mode. Ubuntu's sh is often alised to dash, and hence this fails. Instead, default to using the output from 'uname'.


portable: ci: add ubuntu Add Ubuntu as a dedicated CI environment. By default, sh is aliase to dash which often provides interesting challenges for portability, so making this work here is a good thing as mistakes will be spotted earlier.


portable: regress: harden coreutils check When running tests on non-Linux systems, it was just assumed that GNU coreutils had been installed. This meant that the wrapper commands for date/ln on those systems always had gdate and gln installed. Rather than assume that, check to see if the GNU coreutils versions as present, and if not echo a warning.


portable: regress: set PLATFORM when running direct PLATFORM is populated when running via `./configure && make` but this isn't guaranteed if an individual test is run directly, such as `regress/cmdline/tag.sh`. In such cases, PLATFORM will be empty, but we still want to use it. Since we test for non-linux values, only set PLATFORM if we're running on Linu so that the correct commands are used.


portable: remove stale comments Remove comments which are no longer required.


tog: implement +/- keymaps to resize the focussed split Increase/decrease the currently active split. New dimensions persist for the tog session, irrespective of subsequent closures and new child views. suggested by and ok stsp@


tog: implement global 'S' key map to switch split mode If in a vertical (horizontal) split, switch to horizontal (vertical), and make new split mode persist. ok op@


use got_privsep_flush_imsg instead of reinventing it ok stsp@


get rid of unneeded recv_imsg_error calls got_privsep_recv_imsg users don't need to bother to look whether the imsg type is GOT_IMSG_ERROR because got_privsep_recv_imsg already takes care of that and turns GOT_IMSG_ERROR into `struct got_error's automatically. ok stsp@


rework got_privesp_recv_tree to use got_privsep_recv_imsg ok stsp@


portable: delta_cache: remove includes Remove those includes which are searched for portably.


fix buf_alloca error handling Left-over from how OpenRCS/OpenCVS do error handling. OK stsp@