Commit Briefs
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@
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@
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@
regress: use bs=1M for dd, not bs=1m; fixes -portable test failure on ubuntu
GNU dd only accepts upper-case letters for the size units.
add signer_id option to got.conf(5)
Setting this option will cause 'got tag' to sign all created tags using the SSH key, unless overridden by the -s flag. ok stsp@
portable: regress: rework date command for Ubuntu
Don't rely on '-r' for date as it's not consistent across linuxses. Instead, expand the variables required and use '-d'. OK thomas@
portable: regress: fix fetch compilation
Add missing files for testing fetch.
portable: maintscripts: reverse cherrypicks
When cherry-picking commits from main, do so in reverse order so they match more linearly with main.