Commit Briefs

Thomas Adam

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


Thomas Adam

gotwebd: turn gotweb_get_time_str into gotweb_render_age

ok jamsek


Thomas Adam

gotwebd: refactor gotweb_render_content_type/_file

Rework them so that they allow to set the Status header (the HTTP status code; only way since we're behind FastCGI) and optionally a Location. Since they're now unused outside of gotweb.c, mark them as static. They also used to always return NULL so the error is pointless; return the -1 on failure though. While here, rename to gotweb_reply and gotweb_reply_file. ok jamsek


Thomas Adam

gotwebd: delete now unused code

gotweb_escape_html and gotweb_link are now completely unused. ok jamsek


Thomas Adam

gotwebd: inline got_output_file_blob into gotweb_process_request

ok jamsek


Thomas Adam

gotwebd: templateify gotweb_render_blame

ok and tweak from jamsek


Thomas Adam

gotwebd: templateify gotweb_render_summary

ok jamsek


Thomas Adam

gotwebd: bubble up got_get_repo_tags

This bubbles up the call to got_get_repo_tags from gotweb_render_tags to its caller, gotweb_process_request and gotweb_render_summary. It helps simplifying gotweb_render_summary and making it easier to templateify, but also helps in untangling a bit the code. At this point gotweb_render_tags becomes just a wrapper to gotweb_render_tags_tmpl so switch completely to it. ok jamsek


Thomas Adam

gotwebd: templateify gotweb_render_branches

no functional change intended. Bubble up the allocation of the reflist from gotweb_render_branches to gotweb_render_summary (its only caller) and rewrite it as a template. ok tracey@


Thomas Adam

gotwebd: templateify gotweb_render_diff

ok tracey@; rebased after recent changes.


Thomas Adam

gotwebd: templateify gotweb_render_tag

ok tracey@


Thomas Adam

gotwebd: templateify gotweb_render_tags

ok tracey@


Thomas Adam

backout 169b163113a6db9878c9166aa05fbd30d05eb832

pushed by mistake, wasn't reviewed.


Thomas Adam

gotwebd: templateify gotweb_render_diff

To avoid calling functions from got_operations.c directly from a template (which would hide the error), change got_output_repo_diff into got_open_diff_for_output that returns a file with the diff in it, to be then rendered by the template. got_gotweb_flushfile needs to be exposed then. It also bundles a smaller change: the `label' argument of got_repo_match_object_id is optional and not used, so just pass NULL there.


Thomas Adam

gotwebd: urlencode also the double quote character

URLs are embedded as part of the HTML and, while it seems legal from RFC3986 to leave that character unquoted, we need it quoted to avoid breaking the HTML output. ok tracey@


Thomas Adam

gotwebd: templateify gotweb_render_tree

ok tracey@


Thomas Adam

gotwebd: render BLOB inline, add BLOBRAW for serving raw blobs

binary blobs are automatically redirected to the BLOBRAW page (which is the old BLOB.) ok jamske


Thomas Adam

change gotweb_render_content_type argument type to const char *

it's a string, `const char *' is fine (and what all the callers use anyway.)


Thomas Adam

gotwebd: use Content-Disposition for RSS; sets the filename

Since gotwebd serves the RSS from a path without a file name component, browsers just make up a random string to give the file a name which can be confusing. Furthermore, since it's served as application/rss+xml they try to render the XML (failing.) Use gotweb_render_content_type_file (which sets the Content-Disposition HTTP header) to fix both: the feed is now called <repo-name>.rss and set as attachment (thus saved and not rendered.) Change the function to take an optional filename suffix for the occasion. ok jamsek


Thomas Adam

gotwebd: tweak gotweb_render_content_type_file parameters type

`type' and `file' are strings so use `const char *' for both.


Thomas Adam

gotwebd: drop redundant NULL check

qs is guaranteed to be not NULL reached that point.


Thomas Adam

gotwebd: remove useless comment

should be placed further down, after BLOB and RSS are handled, but the call to `gotweb_render_header' is successfully clear on its own.


Thomas Adam

portable: gotwebd: use template

This updates -portable's gotwebd instance to make use of the new templating engine.


Thomas Adam

gotwebd: add an RSS feed for the tags

ok tracey@


Thomas Adam

gotwebd: templateify gotweb_render_commits

ok tracey@