Commit Briefs

903ff3573f Stefan Sperling

CHANGES for 0.99 (tags/0.99)


9bce226b9e Stefan Sperling

sync dist file list




c811fd62d1 Stefan Sperling

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.




01fd0993d9 Stefan Sperling

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


c025ee6f31 Stefan Sperling

fix wrong function name in errno error message


bcb309261e Stefan Sperling

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.




841969e1ce Omar Polo

got-notify-http: rename auth_user -> authenticated_user

ok stsp@


5a810f318b Stefan Sperling

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


c37c2f0a72 Stefan Sperling

make got stage -p behave the same way in interactive and -F modes for 'q'

Lucas agrees


c3cc85a3c5 Stefan Sperling

make gotd notifications work when 'git push' is used instead of 'got send'

Git clients disconnect earlier, which resulted in session_write exiting before notifications were sent. Do not treat early EOF as a fatal error if we are sending notifications. Add regression test coverage for 'git push'. Problem found by Thomas Adam.


e6370d593b Stefan Sperling

got: refactor choose_patch

Unify the handling of a response file and interactive use, handle EOF, fix a memleak and make it easier to extend in the future. In particular, interactive mode now doesn't loop forever on EOF. Patch by Lucas Gabriel Vuotto. Joint work with op.


cad8b35d32 Stefan Sperling

in gotd.conf(5) use .Sq instead of .Dv when referring to JSON field names

Reads better because .Dv has no discernable effect in terminal or HTML. discussed with op@


fb755b83b5 Stefan Sperling

move GOTD_ACCESS_DENIED more bits away from GOTD_ACCESS_GRANTED

A similar change was made to doas(1) recently in response to rowhammer.


3b9204c084 Stefan Sperling

document common JSON notification object properties separately

Document properties which are always set just once and upfront, and list the object types and type-specific properties afterwards.


d53cd0a66b Stefan Sperling

in gotd.conf, fix markup of the branch-deleted notification field list

This list was using -compact which was inconsistent with the lists for other notification types.


9d42388a1a Stefan Sperling

require -u option when invoking got-notify-http

The authenticated username is always available so it makes little sense to treat it as an optional parameter. Suggested by op@


d36998aec8 Stefan Sperling

expose authenticated gotd user account in HTTP notifications

ok op@


b2c9f618aa Christian Weisgerber

regress: use standard shell idiom for default values


2959f41846 Omar Polo

gotwebd: add the magic ".git" handling

like gotd, assume an implicit ".git" if the repo doesn't exist. Merge gotweb_init_repo_dir() and gotweb_load_got_path() since the former only sets repo_dir->name, and we don't realistically know the name until we've opened the directory. While here, unbreak the git worktree handling too. Realistically, moving forward, we should issue a redirect to the canonical URL or at least set the correct metadata in the document to avoid having multiple URLs for the same content. ok stsp; tiny change to repo_dir->name handling done after the ok.