Commits


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


make 'got merge -c' fail even if new changes only affect unrelated paths Otherwise, 'got merge -c' can silently revert already committed changes. Also fix GOT_ERR_MERGE_COMMIT_OUT_OF_DATE by giving it a value distinct from GOT_ERR_MERGE_STAGED_PATHS. Patch by James Cook


make "got merge" refuse to run if a merge is in progress and the -a or -c option wasn't passed. Patch by James Cook.


PF_UNSPEC -> AF_UNSPEC While they're the same value, it's more correct to use AF_UNSPEC in this case. While here, change SOCK_DGRAM to SOCK_STREAM since it's what we'll be using. ok stsp@


remove host, host_v4 and host_v6; rename host_dns -> host host_dns() (now just host()) uses getaddrinfo() which knows already how to handle IPv4/IPv6 addresses. Saves a good amount of duplication. ok stsp@


gotwebd: drop unused `prefixlen' from struct address ok stsp@


rename test to better reflect what it is checking for


add regression test for 'got rm *' $PWD removal Patch by Mikhail


only delete empty directories appearing in arguments to 'got rm' Make 'got rm' keep empty directories which are not explicitly listed for deletion. Deleting such directories is problematic in several use cases. Avoids deleting the current working directory when the user runs "got rm *" (pointed out by Mikhail), and avoids deletion of an empty directory "foo/" after 'got rm foo/a foo/b' (pointed out by op@). ok jamsek, op


fix refs_str memory leaks Pointed out by op@


rework how reference labels are rendered in the tog log view Draw reference labels and log message as separate strings. The previous code contained calculations mixing variables which represent an amount of wide characters in a string vs the display width of the string. We can avoid such nonsense by keeping the strings separate, though we have to be a bit careful about keeping horizontal scrolling intact. Also fix a bug where we failed to account for reference labels while setting view->maxx which made the $ key not scroll far enough. ok op@


gotwebd: fix some got_error_from_errno2/3 calls it's not printf-like so %s don't make sense. Tweak the order of the arguments to obtain the intended output.