Commits


gotwebd: avoid full history traversal in briefs/commits This purposefully breaks the 'previous' button in the commits and briefs page. It's hard to find the parent of a commit since they can only be iterated forward. The way the previous button was generated was to walk the history from the HEAD down to the specified commit. This is costly but more importantly leads to issue when dealing with paths that were deleted from the repository. Discussed with stsp and tracey, ok jamsek.


gotwebd: don't got_ref_list per-commit in got_get_repo_commits It's wasteful since `refs' is already populated before the loop, and released after. It also leaks the content of `refs' the first time the loop is entered. ok jamsek


gotwebd: turn gotweb_get_time_str into gotweb_render_age ok jamsek


gotwebd: refactor gotweb_render_content_type/_file Rework them so that they allow to set the Status header (the HTTP status code; only way since we're behind FastCGI) and optionally a Location. Since they're now unused outside of gotweb.c, mark them as static. They also used to always return NULL so the error is pointless; return the -1 on failure though. While here, rename to gotweb_reply and gotweb_reply_file. ok jamsek


make read errors in gotsh serve_read() fatal and adjust tests accordingly ok jamsek


return GOT_ERR_EOF from pkt.c if a read attempt indicates EOF ok jamsek


only "forward" implicit flush packets in serve_read() if they are expected ok jamsek


make gotd session process accept just one flush packet at a time ok jamsek


sort ENVIRONMENT entries in got.1 and tog.1 ok jamsek


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