Commit Briefs

Stefan Sperling

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@


Stefan Sperling

adjust a misleading error message in got_object_raw_alloc()

ok op@


Stefan Sperling

fix *size not being passed out of read_packed_object_raw()

ok op@


Mark Jamsek

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@


Omar Polo

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@


Omar Polo

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

ok stsp@



Stefan Sperling

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.



Stefan Sperling

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

ok jamsek, op



Stefan Sperling

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

ok jamsek


Mark Jamsek

add -d switch to log usage and sort lexicographically

patch by Josiah Frentsos


Omar Polo

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


Mark Jamsek

add regress for new got log -d switch

ok stsp@


Mark Jamsek

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@


Mark Jamsek

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@


Omar Polo

backout 169b163113a6db9878c9166aa05fbd30d05eb832

pushed by mistake, wasn't reviewed.


Omar Polo

template.7: fix double spaces

diff from Josiah Frentsos and clue from tb@, thanks! (I can't read.)


Omar Polo

template: bump date in manpages


Omar Polo

template.7: Add a missing \& where needed

based on a diff by Josiah Frentsos, thanks!


Omar Polo

template.7: Use -width instead of -indent

diff from Josiah Frentsos, thanks!


Omar Polo

template.7: use An instead of Ar in AUTHORS

diff from Josiah Frentsos, thanks!


Omar Polo

template.1: Use -std with Ex

diff from Josiah Frentsos, thanks!


Omar Polo

gotwebd: templateify gotweb_render_diff

To avoid calling functions from got_operations.c directly from a template (which would hide the error), change got_output_repo_diff into got_open_diff_for_output that returns a file with the diff in it, to be then rendered by the template. got_gotweb_flushfile needs to be exposed then. It also bundles a smaller change: the `label' argument of got_repo_match_object_id is optional and not used, so just pass NULL there.