Static web frontend for Git/Mercurial/Darcs
Asked Answered
P

4

10

Recently I've found the project git2html: git2html is a simple git web interface. Unlike other web interfaces, git2html does not generate content dynamically: instead of using a CGI script, it generates static HTML pages.

My questions is simple. Do you know other projects for Git, Mercurial or Darcs with similar goals?. I'm interested in static web frontends for these DVCS but is fair if you want to comment other projects for different open source DVCS.

Parlay answered 27/5, 2012 at 22:42 Comment(2)
Just one question: why? :) Due to its distributed nature the load on a DVCS server is pretty low.Sabrina
@LaurensHolst static sites are more "fire and forget" than dynamic sites, since their only attack vector is the Web server. Dynamic sites require a steady stream of security updates, either for the site's code or the underlying language/interpreter.Molar
F
6

The equivalent for Mercurial is the site extension.

The extension generates a set of static HTML pages where you can browse commit messages, diffs, etc. They are similar to the built-in webserver you start with hg serve, but they are static.

You can also hg clone from such a site. This is not because of the extension, but because Mercurial can clone from any web-accessible .hg directory.

Fbi answered 28/5, 2012 at 8:29 Comment(2)
The site extension also supports direct FTP upload which transfers only the history for changed files. It’s not perfect (might miss a file at times when the commits and uploads fire faster than the clock accuracy of the ftp file listing, which then requires the --force flag to reupload everything), but it works quite nicely most of the time. And with a nice post-push hook, it’s automatic :)Use
The main difference from git hosting solutions is that you can just clone from the same URL your browse - und just browse the same URL you pull updates from. That’s an elegance I like a lot in Mercurial (hg serve allows the same).Use
C
2

Mercurial has a built-in ability to access a static repository. If a .hg repo is in a static http server's web root it can be cloned from (albeit slowly). Granted that's not a human-friendly UI, but once folks can clone they can do anything they want locally using hte hg command line tool or hg serve locally.

Charliecharline answered 28/5, 2012 at 2:38 Comment(0)
M
2

Not exactly what you asked for, but if server load is the concern, the http://blitiri.com.ar/p/darcsweb/ CGI script caches rendered pages as static html files after the first viewing, so performs pretty well.

Merna answered 7/8, 2012 at 17:45 Comment(1)
The server load isn't a problem, I just want a static frontend. Thanks anyway.Parlay
R
1

I didn't find other similar project, and coming from a "big enterprise" environment, I can see how this approach is likely to not scale well when confronted with:

  • numerous repositories
  • large history (vest number of commits/ branches / tags)

A similar approach (in term of extracting the necessary information and processing it) is used by static analysis tools like Sonar which has large disk space requirements.
That doesn't scale well either.

Ridings answered 28/5, 2012 at 0:59 Comment(1)
Of course, solutions similar to git2html don't scale with medium-big repos. I know :) . This is the typical problem of this type of applications.Parlay

© 2022 - 2024 — McMap. All rights reserved.