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.