Commit Briefs




Thomas Adam

improve documentation of the histedit 'mesg' command

prompted by a question by op@


Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

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@



Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

portable: regress: remove backticks from string

Remove erroneously-placed backticks when describing a lack of GNU coreutils.


Thomas Adam

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'.


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

portable: remove stale comments

Remove comments which are no longer required.


Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

use got_privsep_flush_imsg instead of reinventing it

ok stsp@


Thomas Adam

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@


Thomas Adam

rework got_privesp_recv_tree to use got_privsep_recv_imsg

ok stsp@


Thomas Adam

portable: delta_cache: remove includes

Remove those includes which are searched for portably.


Thomas Adam

fix buf_alloca error handling

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