portable: release 0.81

portable: template: use as a subproject Move template into its own subproject as it's only needed at compile-time and shouldn't be installed. This needs compiling with the host compiler which is configurable via HOSTCC and HOSTCLFAG environment variables. This diff largely from op@ but additional tweaking from myself.

gotwebd.8: sort -d after -D patch by Josiah Frentsos, thanks!

gotd.8, gotwebd.8: new sentence, new line diff from Josiah Frentsos, thanks!

add missing bounds-check in gitproto ref-line tokenizer

fix typo: overlapping comparison always evaluates false ok stsp@

bump version number

changes for 0.81

have 'make clean' traverse into regress/gotd in order to remove gotd.conf

fix ambiguous phrasing of -d option documentation

document the gotd -n option

gotd: fix "bad packfile with zero objects" error while creating branches Clients will send an empty pack file if they are only creating new references and have no objects to upload. Make gotd handle this and add a regression test which triggers the bug. Problem found by op@. The new regression test caught an unrelated issue where the client connection was left lingering after references had been updated, which made 'got send' followed by 'got clone -l' fail with the connection limit configured for the test suite (just one connection is allowed at a time). Fix this as well. ok op@

fix spurious "gotsh: unexpected flush packet" error when client is up-to-date ok op@

regress: replace typeset with printf for shell portability The typeset shell builtin is a ksh(1) feature. It is not available in a pure POSIX sh(1). Use printf(1) to portably perform the same string truncation. tweak and ok op jamsek

fix an issue where gotd fails to accept multiple have-lines from clients ok op, jamsek

fix an issue where multiple ref-updates are rejected by gotd ok op@

gotd: move socket path check to parse.y and error from the main process It's handy to have a "bad unix socket path" error being reported directly from the main process since can get caught by `gotd -n'. ok jamsek stsp

gotd: move nrepos check to parse_config ok jamsek stsp

gotd: print configuration errors without -d Defer the absolute path check on argv[0] and log_init so that it becomes possible to run `gotd -n' to check the configuration file and get errors without specifying -d. Erorrs in the configuration now are actually always printed regardless of -d. While here also tweak an error message and print 'configuration OK' if -n ok stsp@

fix what is probably a typo in changelog

fix missed attribution in changelog

bump version number

changes for 0.80

update gotwebd TODOs

override realinstall target in gotd's Makefile as we do elsewhere