Commit Briefs
fix gotwebd unveil permissions
The main process doesn't need write access anywhere and /tmp is not needed. The sockets process didn't use unveil at all so far, but is happy with just "x" for libexec helpers and "r" for each server's repository path. Input from op@ Tested by myself and Kyle Ackerman who also reviewed the diffs. Prompted by questions from mlarkin@ ok mlarkin@, op@
gotwebd: remove dead ipproto handling in host() and host_if()
ipproto is always -1, so delete the dead code. ok stsp@
use ibuf_fd_set() instead of reaching into the ibuf struct
discussed with tb@
don't redundantly set wbuf->fd to -1
ibuf_dynamic() (called by imsg_create()) already initializes fd to -1.
fix some fd leaks in error paths and avoid some double close
Sweep done after a few were spotted by tb@, thanks! ok stsp@
simplify usage of the 'mesg' histedit script command
The 'mesg' script command now requires a commit ID as its argument, rather than being tied to a preceding 'pick' or 'edit' command. The old model was too confusing for new users, in particular for people used to Git's rebase -i squash semantics. The 'mesg' command is now semantically equivalent to the 'pick' command and additionally opens the log message in an editor. The new syntax is simpler to use but also requires that we drop support for one-line log messages inside the histedit script, with a commit ID taking its place in the argument space. We don't believe this feature was used much, and that a simplified usage model is more beneficial overall. Patch by Lorenz (xha) ok jamsek
patch: handle NULs in lines
got patch assumes that lines can be encoded as strings, so embedded NUL bytes truncates what got sees of the line. While here, add some minor semplification to the logic by splitting the type out of the line string and change linecmp into lines_eq (name suggested by stsp@) ok stsp@
make 'tog diff' release the work tree lock earlier
Avoids 'work tree is already locked' errors from got commands while the 'tog diff' command remains running.
gotwebd: render all the datetimes in a time tag
fixes an unused variable that should have been dropped in previous commit too. ok stsp@
tog: make patience the default diff algorithm
As discussed on IRC. It makes nicer diffs and the performance hit should only be noticeable with the odd large diff. It might also be a motivator in trying to speed up the patience implementation. ok stsp@
replace "(cd path && git cmd)" with "git -C path cmd"
This matches the existing use of "got -r path cmd" and "git_commit path args".
honor fetch_all_branches configuration again
Fix a regression in db82695e31945b3ce001a5fb69674c3638622368 where the fetch_all_branches configuration setting from got.conf was dropped and always defaulted to "no". Add corresponding regression test. ok stsp
in diff error message, say what was being diffed
When trying to run "got ci" adding a large file, this changes the following error message: got: diff_atomize_file: Cannot allocate memory into: got: /dev/null vs /path/to/the/really/big/file: diff_atomize_file: Cannot allocate memory ok stsp@