Commits


fix uninitialised fildes variables in libexec helpers Reviewed and uncovered as part of the diff in the forthcoming commit (pathlist API refactor). ok stsp@


got: expand diffstat -d option to 'got diff' Like got log -d, add the switch to 'got diff' to display a diffstat of changes; as per stsp's suggestion, we always include diff output with the diffstat. Disabled in gotwebd (for now :) Includes tweaks from op@ ok stsp@


tweak a gotd regress test to cover incremental 'got fetch' Previously the gotd tests were only running fresh clones.


fix tempfile handling in gotd's got_object_raw_open() There was a bug where we reused a file stored in *outfd from a previous call, resulting in a raw object backed by a file but with tempfile_idx -1. This then caused bad confusion during deltification. Fix this by passing tempfd to read_raw() functions and only setting *outfd in case it is actually required, and returning tempfd to the repository tempfile pool otherwise. ok tracey


gotwebd: templateify gotweb_render_tag ok tracey@


gotwebd: templateify gotweb_render_tags ok tracey@


use a caller-specified size limit for mapped files in got_object_raw_alloc() Without this we end up being confused about whether a raw object has been mapped into memory, leading to crashes. ok op@


adjust a misleading error message in got_object_raw_alloc() ok op@


fix *size not being passed out of read_packed_object_raw() ok op@


tog: add mutt-like =/* keymaps as home/end aliases Also, separate g/G from home/end in the manual and runtime help text as only the former accept a prefixed count modifier. Based on initial diff from Mikhail. ok stsp@


util/got-build-regress.sh: simplify lockfile cleanup trap on EXIT too so the lockfile is deleted on quit (both successful and not.) While here simplify a cd too. ok stsp@


util/got-build-regress.sh: switch from getopt(1) to getopts ok stsp@


show gotd process names in stderr debug logs, too; it is getting too confusing


call realpath() during early startup in gotd's parse.y This ensures that all repositories exist when the process is first started. It will also help to avoid an "rpath" pledge promise in a future gotd which uses a separate session process, by avoiding realpath() calls while starting new processes.


do not treat nonexistent repositories as a fatal error in gotd


fix 'got rebase' not detecting an out-of-date work tree in some cases ok jamsek, op


in got.1, update list of commands which refuse to run during rebase/histedit


show from: and via: headers on consecutive lines in 'got log' and 'tog log' ok jamsek


add -d switch to log usage and sort lexicographically patch by Josiah Frentsos


regress: replace echo \n with printf and heredoc echo \n is not really portable. Not that it matters since the regress suite is already using non-POSIX features (like `local'). However, it's the only place using it and easy to fix. ok jamsek


add regress for new got log -d switch ok stsp@


plug leak of got_diffreg_result on output failure Move 'done' labels up so that if got_diffreg_output() fails we still call got_diffreg_result_free() instead of jumping straight over it. ok + fix from stsp@


got: implement diffstat for got log and tog diff view Add new got_diff_blob_cb() implementation to compute added/removed line metrics for a given diff. This enables displaying a diffstat with 'got log -d'. As per suggestion from stsp, change tog diff view to display the diffstat by default. ok stsp@


backout 169b163113a6db9878c9166aa05fbd30d05eb832 pushed by mistake, wasn't reviewed.


template.7: fix double spaces diff from Josiah Frentsos and clue from tb@, thanks! (I can't read.)