Commit Briefs

Omar Polo

gotd: wait asynchronously for children termination

Instead of the current kill() + waitpid(WNOHANG), manage the subprocesses in a separate queue and handle SIGCHLD. A timer is installed to ensure that misbehaving subprocesses are still killed. Fixes the current "child PID 0 terminated" logs due to races with waitpid(). Issue initially reported by Josiah Frentsos. ok + tweaks stsp@



Tracey Emery

Fix for cc1: warnings being treated as errors

/home/got/src/got/tog/tog.c: In function 'draw_tree_entries': /home/got/src/got/tog/tog.c:7307: warning: comparisons like X<=3DY<=3DZ do = not have their mathematical meaning


Omar Polo

add kill_repo_proc() similarly to the other kill_*_proc()

ok stsp@


Stefan Sperling

reword user-facing error message which mentions "fast-forward"

For user-facing messages it is better to avoid technical jargon like this and instead spell out what the fast-forward situation implies: that one branch is already based on another. ok jamsek


Mark Jamsek

typo


Omar Polo

missing semicolon... sigh

I can't assume I can blindly add one simple line.


Omar Polo

move gotd_child_proc to gotd.c

make it opaque since it's unused outside of gotd.c. While here, drop the unused `nhelpers' field. ok/tweak stsp@





Stefan Sperling

prevent 'got merge' from creating commits on branches outside of "refs/heads/"

ok op, james



Stefan Sperling

make 'got add' more forgiving about unversioned paths on the command line

When users run 'got add *' the shell may pick up already versioned files and trigger errors about paths being in an unexpected status. Expand the check which previously only allowed files in added status to be double-added to cover the following status codes which are all safe to ignore: A M C m This should make bulk additions of files a bit easier in most cases. Problem reported by robert@ ok jamsek



James Cook

Implement fast-forward merges.

Split part of got_worktree_merge_prepare into a new function, got_worktree_merge_write_refs, since that part doesn't make sense in the fast-forward case. ok stsp@



Stefan Sperling

make 'got tree /' succeed in a work tree

Previously, this command would trigger an error: got: /: bad path


Stefan Sperling

update gotd_proc_names after session process unveil changes

fixes "proc (null)" appearing in gotd logs


Omar Polo

gotwebd.conf: unbreak max_repos_display 0

in 1a0c81fb61 I've added a range check too strict for max_repos_display, as zero is allowed and means "show all the repositories".



Omar Polo

add a lock for the cleanup operation

This adds the functions got_repo_cleanup_prepare() and _complete() to lock/unlock the repository to prevent multiple `gotadmin cleanup' or `git gc' operations to run in parallel. improvements and ok stsp@



Omar Polo

retire GOT_ERR_QUERYSTRING

it's redundant with GOT_ERR_BAD_QUERYSTRING; convert its only use to the latter.


Omar Polo

add myself in the AUTHORs section