I would like to serve a collection of git
repositories over HTTP, to be browsed by humans, and possibly checked-out (read-only). I'm aware of the existence of cgit
for this purpose, but the only problem I have with cgit
is that it is a dynamic program. This can pose performance issues (and indeed I have seen it use 100% in some situations, when working with huge files if I remember correctly, or when cache was not properly configured), and more importantly can be a security vulnerability. I would prefer to serve only static HTML on my website.
Of course this would mean that some features would become unreasonable, like selective diffing between pairs of revisions, or support for the smart HTTP checkout protocol. However it seems to me like there should exist some tool to prepare a static HTML browsable version of a git repository. (Ideally, such a tool should be able to update the HTML with a hook whenever the repository is pushed to.) Yet while looking around I haven't seen anything that approaches this.
Are you aware of such a tool? If not, what would be the best approximation?