Commit Briefs

Thomas Adam

tog: keymaps to jump to next/prev file/hunk in the diff

Add () and {} key maps to navigate to the previous and next file or hunk in the diff. This required changing Got's diff API to collect line type metadata in addition to the line offsets already produced as prompted by stsp. ok stsp@



Thomas Adam

make gotwebd start up without a config file

ok tracey


Thomas Adam

revert previous commit to sync with diff.git changes; it broke the build

../lib/blame.c:344:11: error: implicit declaration of function 'diff_atom_hash_update'




Thomas Adam

locate_hunk: set mangled earlier for clarity

suggested by stsp@; no functional change.


Thomas Adam

patch regress: unify some tests



Thomas Adam

gotwebd: avoid large allocation per fcgi record

while here also wrap fcgi_send_response to make sure we don't end up trying to send a fcgi record bigger than allowed. ok tracey@


Thomas Adam

sync files from diff.git 3a15e1807a369c0a7827363eca22c9f1a8598d9c

Rather than realloc in fixed-sized blocks, use the 1.5 * allocated scheme when growing the array. This produces fewer allocations and up to 3x speedup on large diffs. ok stsp@


Thomas Adam

tog: add n{G,g} key map to jump to line n like less(1)

Available to all views; for example, 99g will navigate to line 99 in the file if in a blame view or the 99th commit if in a log view. Includes improvements suggested by naddy and stsp. ok naddy@




Thomas Adam

add two more TODO items


Thomas Adam

move use of sin_len out of gotwebd's parse.y

ok tracey


Thomas Adam

rework got patch -c documentation

ok op@




Thomas Adam

tweak op@ log_debug output


Thomas Adam

fix logging of fcgi_send_response

as originally intended by tracey@


Thomas Adam

gotwebd: handle partial writes

fcgi_send_response can end up trying to send big amount of data, in particular when serving blobs. if a write failure occurs, gotwebd and httpd go out of sync and "bad stuff happens". debugged with and ok tracey@


Thomas Adam

gotwebd: simplify got_output_file_blob loop

there's no need to distinguish between plain text blob and a binary one in the output, just send it chunk by chunk. ok tracey@


Thomas Adam

gotwebd: simplify isbinary


Thomas Adam

implement fcgi_gen_response on top of fcgi_gen_binary_response

ok tracey@