Commit Briefs

Thomas Adam

gotwebd: add a some buffering

This adds some buffering to fcgi_gen_binary_response so that we don't end up sending too many (very) small fastcgi records. While here also make fcgi_send_response non-void and make its errors "sticky". ok tracey@


Thomas Adam

gotwebd: switch some HTML IDs to classes

HTML IDs are meant to be unique across the page. While here fix two small errors in the generated HTML (one missing closing div and one extra.) ok tracey@


Thomas Adam

gotwebd: wrap __packed around __attribute__

Needed for -portability reasons. OK op@


Thomas Adam

portable: provide sockaddr-linux implementation

Someof the socket code has been factored out of gotwebd and put centrally so that platform-specific targets can be created, without the need of heavily modifying the central socket code to contain numerous ifdefs.


Thomas Adam

remove the last remaining use of sin_len from gotwebd

I don't think this assignment to sin_len is needed at all, because sin_len is already being set via got_sockaddr_inet[6]_init() during the configuration stage. Tested successfully on both fcgi socket types (unix / tcp).


Thomas Adam

tog: drop regex for line types to colour the diff view

ok stsp@


Thomas Adam

avoid allocating too many errors in cmd_info

got_error_path uses get_custom_err to get a statically allocated error allocated on a buffer that's used a ring. This is nice and simple, but the drawback is that thees custom errors shouldn't be used "for too long" because they might get overwritten later. cmd_info is one offender: change it to store a "simple" error and later re-use it to construct the per-path error. OK and tweaks stsp@


Thomas Adam

add some TODO items for gotwebd



Thomas Adam

fix "got tag" not tagging the work tree's current branch by default

found by jrick


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