TableOfContents


Mercurial Book Building Environment

  1. [http://timhatch.com/ark/2007/06/02/developing-the-hgbook Advice from Tim Hatch on building hgbook]

1. What is MBBE (mercurial book building environment) ?

2. The book building process in ASCII flow chart

  1. PDF version
           |------------------------|    |------------------------|     |------------------------|   
           | Texts in latex         |    | Figures in SVG         |     | Figures in dot         |
           |------------------------|    |------------------------|     |------------------------|
                                             |                            |
                                             | inkscape -D -e $@ $<       | dot -Tps -o $@ $< 
                                             V                            V
                                          |------------------------|    |------------------------|   
                                          | Figures in EPS         |    | Figures in dot         |
                                          |------------------------|    |------------------------|
                                             |
                                             | epspdf *.eps
                                             V 
                                          |------------------------|   
                                          | Figures in PDF         |   
                                          |------------------------|   
    
      
    
                      
    
           |------------------------|
           | Mercurial book in tex  |
           |------------------------|
                       |
                       | pdflatex
                       V
           |------------------------|
           | Mercurial book in PDF  |
           |------------------------|
  2. html version

3. How do I setup MBBS using Fedora VMWare appliance approach ?

  1. [http://www.vmware.com/download/player/ Download VMWare player 2.0] or using VMWare workstation/VMWare ESX if you have a license.

  2. [http://download.thoughtpolice.co.uk/fedora-7-i386.zip.torrent Download Fedora 7 vmware image] from [http://www.thoughtpolice.co.uk/vmware/ Though police].

  3. Use YUM install the missing rpm packages.
    • [root@localhost ~]# yum install yum graphviz tetex mercurial rcs inkscape patchutils tex4ht tetex-latex

4. How do I setup MBBS using OpenSolaris x86/Solaris 10 x86 VMWare appliance approach ?

Followings are just brief steps.

  1. create a vmware session using Solaris 10.
  2. get the book system needed software.

5. How do I check in the changes I made ?

  1. TBA.

6. How do I back out the changes in Mercurial book changes history ?

  1. Backout to a known working copy to discard the changes.
  2. Ex. the changes set after "271:8627f718517a" break the book building on Fedora 7(also on 6 and 8).
    1. Error message, failed at "run-example bisect".
      cd examples && ./run-example backout
      running backout ..............
      cd examples && ./run-example bisect
      running bisect .....
      Output of bisect.search.init has changed!
      --- bisect.search.init.out      2007-12-08 07:47:25.000000000 -0500
      +++ bisect.search.init.err      2007-12-08 07:52:01.000000000 -0500
      @@ -1,3 +1 @@
      
      -
      -
      .......
      (exit 0)
      make: *** [examples/bisect.run] Error 1
      rm undo-non-tip.eps wdir-after-commit.eps wdir-merge.eps undo-manual.eps wdir-br anch.eps metadata.eps snapshot.eps wdir-pre-branch.eps tour-merge-sep-repos.eps  tour-merge-pull.eps revlog.eps tour-merge-conflict.eps tour-merge-merge.eps undo -manual-merge.eps feature-branches.eps undo-simple.eps tour-history.eps filelog. eps wdir.eps mq-stack.eps
      [root@localhost en]#
    2. The change logs
    [root@localhost book]# hg log  | head -40
    changeset:   276:92660e72d6bf
    tag:         tip
    user:        "Dongsheng Song" <dongsheng.song@gmail.com>
    date:        Fri Dec 07 21:25:07 2007 -0800
    summary:     [hgbook] Fix a typo
    
    changeset:   275:96ea24a916f9
    parent:      274:b049cb10bde3
    parent:      273:00f69e8825c5
    user:        Bryan O'Sullivan <bos@serpentine.com>
    date:        Mon Nov 26 20:42:36 2007 -0800
    summary:     Merge with myself.
    
    changeset:   274:b049cb10bde3
    parent:      271:8627f718517a
    user:        Bryan O'Sullivan <bos@serpentine.com>
    date:        Mon Nov 26 20:42:17 2007 -0800
    summary:     Add a link to myself.
    
    changeset:   273:00f69e8825c5
    user:        Bryan O'Sullivan <bos@serpentine.com>
    date:        Mon Nov 26 12:24:53 2007 -0800
    summary:     Bring book up to date with recent changes.
    
    changeset:   272:74c079e0051f
    user:        Bryan O'Sullivan <bos@serpentine.com>
    date:        Mon Nov 26 11:18:46 2007 -0800
    summary:     Account for change in bisect output.
    
    changeset:   271:8627f718517a
    user:        Max Vozeler <max@nusquama.org>
    date:        Mon Sep 10 19:38:41 2007 +0200
    summary:     Fix typo "paptches"
    
    changeset:   270:4c767178c1aa
    user:        Eric Hanchrow <offby1@blarg.net>
    date:        Mon Jun 04 13:23:53 2007 -0700
    summary:     Fix typos
    
    changeset:   269:abfe426f7e08
    [root@localhost book]#
  3. run the following commands to undo the change after Sept 10 2007. the revision number is 271.
      hg backout --merge -m 'Sep102007' 271

Building the book

1. Pull hg book source

  1. (mkdir /tmp;cd /tmp )and run following to put source from [http://hg.serpentine.com/mercurial/book hg.serpentine.com book source repository]

    [root@localhost ~]# hg clone http://hg.serpentine.com/mercurial/book
    destination directory: book
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 277 changesets with 855 changes to 319 files
    315 files updated, 0 files merged, 0 files removed, 0 files unresolved
    [root@localhost ~]#

2. Do a dry run to see what is going to happen

3. Making the book

4. A Successful book build log

Error Messages

1. A failed book building log

  1. Error messages: "output of bisect.init has changed"
    [tjyang@fc6 en]$ make
    cd examples && ./run-example bisect
    running bisect ..
    Output of bisect.init has changed!
    --- bisect.init.out     2008-03-01 07:07:07.000000000 -0600
    +++ bisect.init.err     2008-03-01 07:09:51.000000000 -0600
    @@ -1,3 +1,2 @@
    
    
    -
    .
    Output of bisect.commits has changed!
    --- bisect.commits.out  2008-03-01 07:07:07.000000000 -0600
    +++ bisect.commits.err  2008-03-01 07:09:52.000000000 -0600
    @@ -8,38 +8,3 @@
    
    
    
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    .
    Output of bisect.help has changed!
    --- bisect.help.out     2008-03-01 07:07:07.000000000 -0600
    +++ bisect.help.err     2008-03-01 07:09:52.000000000 -0600
    @@ -3,24 +3,3 @@
    
    
    
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    .
    Output of bisect.search.init has changed!
    --- bisect.search.init.out      2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.init.err      2008-03-01 07:09:52.000000000 -0600
    @@ -4,24 +4,3 @@
    
    
    
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    .
    Output of bisect.search.bad-init has changed!
    --- bisect.search.bad-init.out  2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.bad-init.err  2008-03-01 07:09:52.000000000 -0600
    @@ -1,2 +1,6 @@
    
    
    +
    +
    +
    +
    .
    Output of bisect.search.good-init has changed!
    --- bisect.search.good-init.out 2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.good-init.err 2008-03-01 07:09:52.000000000 -0600
    @@ -2,3 +2,5 @@
    
    
    
    +
    +
    .
    Output of bisect.search.step1 has changed!
    --- bisect.search.step1.out     2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.step1.err     2008-03-01 07:09:52.000000000 -0600
    @@ -10,3 +10,5 @@
    
    
    
    +
    +
    ..
    Output of bisect.search.step2 has changed!
    --- bisect.search.step2.out     2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.step2.err     2008-03-01 07:09:52.000000000 -0600
    @@ -3,3 +3,5 @@
    
    
    
    +
    +
    .
    Output of bisect.search.rest has changed!
    --- bisect.search.rest.out      2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.rest.err      2008-03-01 07:09:52.000000000 -0600
    @@ -17,3 +17,5 @@
    
    
    
    +
    +
    .
    Output of bisect.search.reset has changed!
    --- bisect.search.reset.out     2008-03-01 07:07:07.000000000 -0600
    +++ bisect.search.reset.err     2008-03-01 07:09:52.000000000 -0600
    @@ -1,2 +1,6 @@
    
    
    +
    +
    +
    +
    
    (exit 0)
    make: *** [examples/bisect.run] Error 1
    [tjyang@fc6 en]$

2. GDK_IS_DISPLAY (display)' failed