Commit Briefs

Omar Polo

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.


Omar Polo

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@


Omar Polo

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@


Omar Polo

oops, one was missing


Omar Polo

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.


Omar Polo

remove fsync() from got_gotweb_closefile()

discussed with millert@


Omar Polo

rename got_gotweb_flushfile -> got_gotweb_closefile

suggested and ok millert@


Omar Polo

make got_gotweb_flushfile always close the file

ok millert@



Omar Polo

simplify got_gotweb_openfile/flushfile

Return only the FILE *, and require only that to close subsequently. Having to manage the file descriptor too makes using these functions unnecessary complex. millert@ agrees


Omar Polo

include sha2.h too where sha1.h is included

In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


Tracey Emery

gotwebd: abort tree and blob as well


Omar Polo

gotwebd: abort blame if the client disconnect midway thru

Without setting err when the callback fails we continue the blame machinery.


Mark Jamsek

fix mistaken instances returning NULL instead of err

While here, for consistency, check dup() return value for -1 rather than < 0. ok stsp@


Omar Polo

gotwebd: fix briefs/tags navigation overlap

Introduces a separate field for the "next" button (now called "More") and adjusted the CSS/HTML so it's used. Finally, drops the old code used to handle the pagination for the BRIEFS/COMMITS cases. Needs a small hack for the time being, setting the action to TAGS. This is due how qs->action is changed in gotweb.c while handling the request. ok jamsek


Omar Polo

gotwebd: delete always-true check

ok stsp@


Omar Polo

gotwebd: avoid full history traversal in briefs/commits

This purposefully breaks the 'previous' button in the commits and briefs page. It's hard to find the parent of a commit since they can only be iterated forward. The way the previous button was generated was to walk the history from the HEAD down to the specified commit. This is costly but more importantly leads to issue when dealing with paths that were deleted from the repository. Discussed with stsp and tracey, ok jamsek.


Omar Polo

gotwebd: don't got_ref_list per-commit in got_get_repo_commits

It's wasteful since `refs' is already populated before the loop, and released after. It also leaks the content of `refs' the first time the loop is entered. ok jamsek


Omar Polo

gotwebd: turn gotweb_get_time_str into gotweb_render_age

ok jamsek


Mark Jamsek

refactor got log -d and tog diffstat to compute diff once

This eliminates the previous performance cost by making 'got log -d' and tog diff view compute the diffstat while building the diff in a temp file like we do with 'got diff -d'. Also, keep the current 'got log -d' UI as per stsp's suggestion. ok stsp@


Omar Polo

gotwebd: inline got_output_file_blob into gotweb_process_request

ok jamsek


Omar Polo

gotwebd: templateify gotweb_render_blame

ok and tweak from jamsek


Omar Polo

gotwebd: templateify gotweb_render_diff

ok tracey@; rebased after recent changes.


Mark Jamsek

got: expand diffstat -d option to 'got diff'

Like got log -d, add the switch to 'got diff' to display a diffstat of changes; as per stsp's suggestion, we always include diff output with the diffstat. Disabled in gotwebd (for now :) Includes tweaks from op@ ok stsp@


Omar Polo

backout 169b163113a6db9878c9166aa05fbd30d05eb832

pushed by mistake, wasn't reviewed.