Tim Hatch

Weblog | Photos | Projects | Panoramas | About

Developing the hgbook 02 Jun, 2007

I finally had a few spare minutes to start reading more about alternate version control systems and was impressed to discover there's a hgbook in progress (in the same spirit as the svnbook).

Here are some notes that may be helpful to others starting work:

  • First, some prereqs. You'll need tex4ht which will pull in tetex as a dependency. This is where epstopdf comes from. You'll need inkscape which has lots of deps. /usr/bin/merge appears to be part of rcs.
  • If you don't have a font called 'courier' any svg files will end up with monospaced text all jumbled together. Add this to your ~/.fonts.conf file:
    <fontconfig>
        <match target="pattern">
            <test qual="any" name="family">
                <string>courier</strong>
            </test>
            <edit name="family" mode="assign">
                <string>monospace</string>
            </edit>
        </match>
    </fontconfig>
    
  • Apparently inkscape tries to pop up some window even when running from a terminal. Make sure to unset $DISPLAY if you're operating remotely.
  • If you're just starting out with hg, make sure you set your username in ~/.hgrc like
    [ui]
    username = Bob Smith <mail@example.com>
  • If you have a slowish computer, the examples/bisect script will run too slowly and be killed. If this happens, increase the second timeout value in examples/run-example, make clean and try again. It leaves a bad file around when the example fails, so you must run make clean.
  • Do not, under any circumstances, attempt to run the examples where they are, even though they look like shell scripts. They will mess up your repository. A lot.