I am impressed with the simplicity of Mercurial (the distributed version control system). It’s Python, and it’s got a built-in webserver, so it’s simple to show stuff to people:
hg serve [OPTION]...
export the repository via HTTP
Start a local HTTP repository browser and pull server.
By default, the server logs accesses to stdout and errors to
stderr. Use the "-A" and "-E" options to log to files.
options:
-A --accesslog name of access log file to write to
-d --daemon run server in background
--daemon-pipefds used internally by daemon mode
-E --errorlog name of error log file to write to
-p --port port to use (default: 8000)
-a --address address to use
-n --name name to show in web pages (default: working dir)
--webdir-conf name of the webdir config file (serve more than one repo)
--pid-file name of file to write process ID to
--stdio for remote clients
-t --templates web templates to use
--style template style to use
-6 --ipv6 use IPv6 in addition to IPv4
--certificate SSL certificate file
This will put up a nice little website, with search box that looks in the commit messages to find revisions.
Neat! Use this with nginx‘s port-forwarding functionality, and you’re done.