mark gotd http-notifications todo item as done

don't leak the existence of gotd repositories to unrelated user accounts In particular, this prevents anonymous user accounts from discovering the existence of other private repositories served by gotd by correctly guessing the name of a private repository. They still wouldn't have read or write access but in some cases even knowledge about the existence of a particular repository could be cause for concern. ok op@

in gotd.8 add an example which illustrates how to create repositories for gotd

gotd regress: fix tests which started failing as of version number 0.100

gotd regress: drop redundant test_ prefix from test directory names

fix expected BINDIR when running gotd regress in release tarball sources

in got.1 EXAMPLES, mention how files can be moved or renamed based on an initial patch by Matthias Schmidt

show hint about update -b if the user attempts to rebase a branch onto itself Specifically, when 'gut send' suggests 'fetch and rebase required', new users might try to use 'got fetch' directly followed by 'got rebase' without first updating the work tree to newly fetched commits. Got would then say "main is already based on main" without any hint for a way out. Hopefully, pointing users at the update -b command will make them search the manual for details.

switch to using readdir. readdir_r is deprecated.

abort if we see a sha2 hash. it's incomplete and will lead to an overwrite. quiets a potential compiler warning.

portable: set next version

portable: release 0.99

bump version number

CHANGES for 0.99

sync dist file list

make new pkt read timeout apply only to gotsh, not the client-side helpers

use polling read in got_pkt_readn() to avoid endless hangs in gotsh

fix an issue where 'git fetch' would error or hang against gotd If Git has more than 16 have-lines to send it will send a flush-pkt followed by more have-lines. Due to a misunderstanding on my part, gotd didn't like this because it assumed that the flush-pkt terminates the list. Add a test coverage in a new file which we can use to test Git interop issues. Fixes a problem seen by Thomas Adam upon git fetch from got.g.o.

add a basic gotd test which uses git clone instead of got clone

gotd_request_timeout() should use log_warnx() since errno is not used here

prevent spurious failure of gotd test_clone_basic_access_denied Filter output for a single error message to avoid spurious test failures which result from output appearing in an unexpected order: test_clone_basic_access_denied --- /tmp/gotd-test-clone_basic_access_denied-IkTXPlX5FH/stderr.expected ... +++ /tmp/gotd-test-clone_basic_access_denied-IkTXPlX5FH/stderr ... @@ -1,2 +1,2 @@ -got-fetch-pack: test-repo: Permission denied got: fetch failed +got-fetch-pack: test-repo: Permission denied test failed; leaving test data in /tmp/gotd-test-clone_basic_access_denied-IkTXPlX5FH

fix wrong function name in errno error message

attempt to fix lingering gotd processes from reading clients When reading clients close the connection early do not ignore this condition in session_read. The code removed here intended to handle the case of a writing client uploading a pack file, and thus does not belong into session_read.c. I overlooked this when splitting session.c into two files. This might fix an issue observed on got.g.o where the anonymous user was no longer connected and left lingering session_read and repo_read processes hanging around until the request timeout was reached.

ensure gotd request timeout gets armed even if no request is received

raise log level of message that is logged when a gotd request times out