about summary refs log tree commit homepage
path: root/lib/PublicInbox/RepoGitRaw.pm
DateCommit message (Collapse)
2017-03-04repoobrowse: explicit EOF handling for git async callback
We need to ensure we've fully-drained the pipe before signalling EOF to the callback, since pipelining may not be the best choice with detachable processes in the future.
2017-03-03repobrowse: raw: show the resulting tree for commits and tags
Seeing the raw tag or commit is not very useful, but people tend to treat them as trees. This behavior is also shared by the "plain" endpoint in cgit.
2017-03-03repobrowse: raw display avoids forking for small files
This is more efficient for the majority of source files which fit into a stock 64K Linux pipe buffer used by our interaction with git-cat-file.
2017-03-03repobrowse: avoid excessive buffering in raw endpoint
Relying on qspawn allows us to serve arbitrarily large files without excessive buffering. We'll special-case small files in the future to avoid qspawn, as those small files should fit comfortably in socket buffers.
2017-03-03repobrowse: remove unused "blob" endpoint
This is redundant with the "raw" endpoint.
2017-03-03repobrowse: consistently set text charset
For everything with relevant content, we'll try to set UTF-8 charset and reduce duplication when generating response headers.
2017-02-22repobrowse: fixup revision handling
Revisions passed in the URL must not be ignored. This fixes some bugs introduced in commit f6244586ba4f5a5e7575e1254be8c9bbe303fce9 ("repobrowse: switch to new URL format to avoid query strings")
2017-02-19repobrowse: unconditionally remove trailing slash handling
We do not need specialized trailing slashes if we break URL compatibility from cgit, here. Removing trailing (and redundant) slashes improves our hit rates with across both server-side (varnish, squid) and client-side (browser) layers.
2017-02-17repobrowse: rename "plain" endpoint to "raw"
This name is shorter and matches terminology in gitweb and other popular git web viewers.