Commits


gotwebd: add patch action to serve diffs in plain text ok tracey@


gotwebd: get rid of proc.[ch] proc.c really shines when there's a network of different types of processes, potentially with a various number of instances each, that needs to exchange messages. Gotwebd instead has a much simpler design, and using proc.c causes more overhead (/headaches) than it solves. So, this attempts to provide the same functionalities but with a much simpler implementation that fits gotwebd better. ok stsp@


gotwebd: fix branches modification time with show_repo_age off If show_repo_age is set to off, got_get_repo_age() returns without setting the timestamp. got_get_repo_age() is also used by the branch listing to show how old they are however, and we end up rendering the stack garbage. Instead, respect `show_repo_age off' one layer above, and always return a timestamp in got_get_repo_age(). While here, initialize the timestamp to zero so it's set also in case of failures. Issue reported on IRC by xs, thanks!


dropping unnecessary strlen()s ok jamsek, stsp


change got_get_repo_tags' limit argument to size_t The function already carefully avoids wrapping around zero. While here add a sanity check for limit == 0, like what was previously done for got_get_repo_commits().


gotwebd: make got_get_repo_commits take a size_t and while here make sure 0 is rejected. requested by, improvements and ok stsp@


gotwebd: simplify got_get_repo_commits(): don't traverse all the commits! In some cases (e.g. limit=1 for DIFF action) we could end up traversing all the commits instead of fetching just the one requested. Needless to say, this makes the diff page extremely slow. reported by and ok stsp@


gotwebd: fix some got_error_from_errno2/3 calls it's not printf-like so %s don't make sense. Tweak the order of the arguments to obtain the intended output.


gotwebd: avoid needless double fseek() got_gotweb_closefile() already takes care of rewinding before truncating and closing, so no need to replicate here. ok stsp@


gotwebd: lower log priority of unexpected disconnections no need to be so loud when a client disconnects earlier than expected, log it only in verbose mode. Don't log GOT_ERR_CANCELLED too since that is only used to communicate the callers that we need to stop. ok stsp@


oops, one was missing


got_operations.c: use consistently a space before labels makes diff prettier and easier to read; instead of the label we have the function name in the hunk line.


remove fsync() from got_gotweb_closefile() discussed with millert@


rename got_gotweb_flushfile -> got_gotweb_closefile suggested and ok millert@


make got_gotweb_flushfile always close the file ok millert@