Commit Briefs
locate_hunk: set mangled earlier for clarity
suggested by stsp@; no functional change.
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@
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@
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@
fix logging of fcgi_send_response
as originally intended by tracey@
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@
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@
warn about the interaction between got patch -p and -c
suggested by stsp@
got patch: add -c flag to apply at a specified commit
it's useful for e.g. to apply old patches that weren't generated by `got diff' or git-diff(1) and so lacks the metadata needed for the 3-way merge. manpage improvements from and ok stsp@
simplify got_patch/apply_patch to call reverse_patch in one place once
Current code is overly complex; it looks if the diff *might* use diff3 merge to postpone reverse_patch until we know for sure. Instead, just reverse_patch in apply_patch once we know if merge *is* used or not.