Commits


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@


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.


delta_cache.c needs to include <stdint.h>; unbreaks -portable build on ubuntu


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.


mention Austin Appleby's public domain code for completeness


mention additional copyright holders in got(1)