Lately I've had a need to quickly share code for an internal, non-FOSS project. Running an internal hg server seems, at first glance, much harder than for SVN or CVS : while there is a simple "hg serve" command, the documentation is sparse, and in fact misleading. The documentation would have you believe that hg serve is read-only, whereas it is not. There are a few tricks required to run it as a cheap solution just for sharing between colleagues and avoiding the "oops, lost my laptop" issues.
First, run the program in daemon mode, and force it to read a config file:
hg serve -d --web-config E:\hg\config.txt
The following configuration file (config.txt in the command-line above) allows you a) to have multiple repositories b) enables your colleagues to push changes and c) does not require an SSL connection.
e:\hg = e:\hg
allow_push = *
push_ssl = false
Obviously, the setup is insecure, and is meant for private LANs or VPNs -- anything sensitive should use the more tedious solutions that rely on Apache and SSL.