Commits


gotadmin cleanup: remove redundant pack files improvements and ok stsp@


regress/cmdline: fix handling of unexpected success Diff from James Cook, thanks!


gather_on_disk_refs(): skip over bad refs noticed since gotwebd fails when there's a ref.lock file due to a concurrent update. discussed with stsp.


make gotd show relevant commit hashes in error message if ref-updates collide


make gotd avoid re-writing existing ref files when a ref-update is a no-op


dropping unnecessary strlen()s ok jamsek, stsp


avoid strlen in for(;;) ok jamsek, stsp


ignore write errors to pack children while closing a repository If the child has exited for some reason then we won't be able to send a stop message on the pipe. Ignore such errors while we are tearing a repository data structure down. The error should be harmless but can trip up gotwebd when cycling repositories out of its repo cache: gotwebd[29683]: gotweb_render_index: got-portable.git: unexpected end of file


gotwebd: set chroot path in config_init() saves a bit fiddling around with ternary operators. sockets_run() will reset the chroot to the default since it calls again config_init(), but at that stage it's not important anymore. ok stsp@


change got_get_repo_tags' limit argument to size_t The function already carefully avoids wrapping around zero. While here add a sanity check for limit == 0, like what was previously done for got_get_repo_commits().


gotwebd.conf: error if chroot is the empty string


gotwebd.conf: range-check numeric values and raise errors


gotwebd.conf: disallow yes/no for booleans Supporting both "no" and "on" as valid syntax with an opposite meaning could easily result in accidental misconfiguration. Suggested by stsp, tracey agrees. Patch by Josiah Frentsos, thanks!


drop unused strlen; ok stsp@


gotwebd: make got_get_repo_commits take a size_t and while here make sure 0 is rejected. requested by, improvements and ok stsp@


gotwebd: disallow 1 for max_commits_display and report range errors ok stsp


gotwebd: simplify got_get_repo_commits(): don't traverse all the commits! In some cases (e.g. limit=1 for DIFF action) we could end up traversing all the commits instead of fetching just the one requested. Needless to say, this makes the diff page extremely slow. reported by and ok stsp@


got, tog: correctly skip HEAD in build_refs_str() s[strlen(s)] == '\0' is banally always true, the intent was to not skip refs that starts with "HEAD". style nit / ok stsp@


make 'got status' error out as intended when invoked in a repository


gotwebd: drop a few unneeded SRCS fileindex.c, worktree.c, worktree_open.c and patch.c are not used in gotwebd. ok stsp


remove proc_ispeer() unused, and was dropped by the other copies of proc.c; reduces the diff with httpd' proc.c.


make gotd avoid a "failed to push some refs" error from no-op 'git push' gotsh was sending errors such as "unexpected end of file" and "unexpected flush-pkt" to the client when the client disconnected immediately after receiving reference announcements from the server. As a result, 'git push' with both sides up-to-date would show an obscure error message: = [up to date] main -> main error: failed to push some refs to 'ssh://example.com/git/repo.git Now we see: = [up to date] main -> main Everything up-to-date ok jamsek


fix a segfault in got diff when a root commit is passed to -c Problem reported by Alexander Arkhipov ok jamsek


bump version number


CHANGES for 0.89