Recently I setup and customized Gitweb (a web frontend to Git repositories) and I’m quite pleased with the result but also found a few quirks. Here is a screenshot and a summary of my setup.
The Git book’s Git on the Server page has great instructions for how to generate the
.cgi script (including setting the
$projectroot path, as well as for configuring
.htaccess Gitweb is a CGI script, so you need to enable CGI in the directory and a few other things with the following code:
Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch AllowOverride All order allow,deny Allow from all AddHandler cgi-script cgi DirectoryIndex gitweb.cgi
At first I got a “No Projects” error, which I resolved by determining the path to git on my server with
which git then configuring
I then choose to put the application on a subdomain and enabled basic authentication, as I plan to keep non-public projects there and I was also concerned about the potential for server load since I didn’t enable any of the caching customization.
Lastly, I deployed a kogakure’s Github inspired theme. This was as simple as replacing three files in gitweb’s
If you’re disappointed by the lack of a Markdown renderer, one option is to script a hook that converts into HTML, then Gitweb will display it on the summary page. For example:
« East Boston Floods AgainAnalyze Boston SQL Client Beta Release »
#!/bin/sh git cat-file blob HEAD:README.md | php -f markdown.php > $GIT_DIR/README.html