Commit Briefs
CHANGES for 0.99 (tags/0.99)
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.
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
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.
add default case to the switch statement in choose_patch()
Just in case the code futher up gets tweaked again such that the validity check using strchr() will be skipped in some edge case. Lucas agrees