Commit Briefs
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: 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@
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
CHANGES for 0.89 (tags/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@