hgbook

changeset 654:1c13ed2130a7

Merge with http://hg.serpentine.com/mercurial/book
author Dongsheng Song <dongsheng.song@gmail.com>
date Mon Mar 30 16:23:33 2009 +0800 (2009-03-30)
parents 6b1577ef5135 9e8e5292acaa
children 65e9a18d2c7e
files .hgignore Makefile en/00book.xml en/Makefile en/appA-cmdref.xml en/appB-mq-ref.xml en/appC-srcinstall.xml en/appD-license.xml en/ch00-preface.xml en/ch01-tour-basic.xml en/ch02-tour-merge.xml en/ch03-concepts.xml en/ch04-daily.xml en/ch05-collab.xml en/ch06-filenames.xml en/ch07-branch.xml en/ch08-undo.xml en/ch09-hook.xml en/ch10-template.xml en/ch11-mq.xml en/ch12-mq-collab.xml en/ch13-hgext.xml en/examples/auto-snippets.xml en/examples/results/backout.init.out en/examples/results/backout.manual.backout.out en/examples/results/backout.manual.cat.out en/examples/results/backout.manual.clone.out en/examples/results/backout.manual.heads.out en/examples/results/backout.manual.log.out en/examples/results/backout.manual.merge.out en/examples/results/backout.manual.parents.out en/examples/results/backout.non-tip.backout.out en/examples/results/backout.non-tip.cat.out en/examples/results/backout.non-tip.clone.out en/examples/results/backout.simple.log.out en/examples/results/backout.simple.out en/examples/results/bisect.commits.out en/examples/results/bisect.help.out en/examples/results/bisect.init.out en/examples/results/bisect.search.bad-init.out en/examples/results/bisect.search.good-init.out en/examples/results/bisect.search.init.out en/examples/results/bisect.search.mytest.out en/examples/results/bisect.search.reset.out en/examples/results/bisect.search.rest.out en/examples/results/bisect.search.step1.out en/examples/results/bisect.search.step2.out en/examples/results/branch-named.branch.out en/examples/results/branch-named.branches.out en/examples/results/branch-named.commit.out en/examples/results/branch-named.create.out en/examples/results/branch-named.foo-commit.out en/examples/results/branch-named.merge.out en/examples/results/branch-named.parents.out en/examples/results/branch-named.rebranch.out en/examples/results/branch-named.status.out en/examples/results/branch-named.update-bar.out en/examples/results/branch-named.update-foo.out en/examples/results/branch-named.update-nothing.out en/examples/results/branch-named.update-switchy.out en/examples/results/branch-named.update.out en/examples/results/branch-repo.bugfix.out en/examples/results/branch-repo.clone.out en/examples/results/branch-repo.merge.out en/examples/results/branch-repo.new.out en/examples/results/branch-repo.pull.out en/examples/results/branch-repo.tag.out en/examples/results/branching.clone.out en/examples/results/branching.init.out en/examples/results/branching.main.out en/examples/results/branching.merge.out en/examples/results/branching.stable.out en/examples/results/branching.tag.out en/examples/results/branching.update.out en/examples/results/cmdref.diff-p.out en/examples/results/daily.copy.after.out en/examples/results/daily.copy.cat.out en/examples/results/daily.copy.clone.out en/examples/results/daily.copy.copy.out en/examples/results/daily.copy.dir-dest.out en/examples/results/daily.copy.dir-src-dest.out en/examples/results/daily.copy.dir-src.out en/examples/results/daily.copy.init.out en/examples/results/daily.copy.merge.out en/examples/results/daily.copy.other.out en/examples/results/daily.copy.simple.out en/examples/results/daily.copy.status-copy.out en/examples/results/daily.copy.status.out en/examples/results/daily.files.add-dir.out en/examples/results/daily.files.add.out en/examples/results/daily.files.addremove.out en/examples/results/daily.files.commit-addremove.out en/examples/results/daily.files.hidden.out en/examples/results/daily.files.missing.out en/examples/results/daily.files.recover-missing.out en/examples/results/daily.files.remove-after.out en/examples/results/daily.files.remove.out en/examples/results/daily.rename.rename.out en/examples/results/daily.rename.status-copy.out en/examples/results/daily.rename.status.out en/examples/results/daily.revert.add.out en/examples/results/daily.revert.copy.out en/examples/results/daily.revert.missing.out en/examples/results/daily.revert.modify.out en/examples/results/daily.revert.remove.out en/examples/results/daily.revert.rename-orig.out en/examples/results/daily.revert.rename.out en/examples/results/daily.revert.status.out en/examples/results/daily.revert.unmodify.out en/examples/results/extdiff.diff.out en/examples/results/extdiff.extdiff-ctx.out en/examples/results/extdiff.extdiff.out en/examples/results/filenames.dirs.out en/examples/results/filenames.files.out en/examples/results/filenames.filter.exclude.out en/examples/results/filenames.filter.include.out en/examples/results/filenames.glob.group.out en/examples/results/filenames.glob.question.out en/examples/results/filenames.glob.range.out en/examples/results/filenames.glob.star-starstar.out en/examples/results/filenames.glob.star.out en/examples/results/filenames.glob.starstar.out en/examples/results/filenames.wdir-relname.out en/examples/results/filenames.wdir-subdir.out en/examples/results/hook.msglen.go.out en/examples/results/hook.msglen.run.out en/examples/results/hook.simple.ext.out en/examples/results/hook.simple.init.out en/examples/results/hook.simple.pretxncommit.out en/examples/results/hook.ws.better.out en/examples/results/hook.ws.simple.out en/examples/results/issue29.go.out en/examples/results/mq.dodiff.diff.out en/examples/results/mq.guards.init.out en/examples/results/mq.guards.qguard.neg.out en/examples/results/mq.guards.qguard.out en/examples/results/mq.guards.qguard.pos.out en/examples/results/mq.guards.qselect.cat.out en/examples/results/mq.guards.qselect.error.out en/examples/results/mq.guards.qselect.foo.out en/examples/results/mq.guards.qselect.foobar.out en/examples/results/mq.guards.qselect.qpush.out en/examples/results/mq.guards.qselect.quux.out en/examples/results/mq.guards.series.out en/examples/results/mq.id.out.out en/examples/results/mq.id.output.out en/examples/results/mq.qinit-help.help.out en/examples/results/mq.tarball.download.out en/examples/results/mq.tarball.newsource.out en/examples/results/mq.tarball.qinit.out en/examples/results/mq.tarball.repush.out en/examples/results/mq.tools.lsdiff.out en/examples/results/mq.tools.tools.out en/examples/results/mq.tutorial.add.out en/examples/results/mq.tutorial.qinit.out en/examples/results/mq.tutorial.qnew.out en/examples/results/mq.tutorial.qnew2.out en/examples/results/mq.tutorial.qpop.out en/examples/results/mq.tutorial.qpush-a.out en/examples/results/mq.tutorial.qrefresh.out en/examples/results/mq.tutorial.qrefresh2.out en/examples/results/mq.tutorial.qseries.out en/examples/results/rename.divergent.clone.out en/examples/results/rename.divergent.merge.out en/examples/results/rename.divergent.rename.anne.out en/examples/results/rename.divergent.rename.bob.out en/examples/results/rollback.add.out en/examples/results/rollback.commit.out en/examples/results/rollback.rollback.out en/examples/results/rollback.status.out en/examples/results/rollback.tip.out en/examples/results/rollback.twice.out en/examples/results/tag.init.out en/examples/results/tag.log.out en/examples/results/tag.log.v1.0.out en/examples/results/tag.remove.out en/examples/results/tag.replace.out en/examples/results/tag.tag.out en/examples/results/tag.tags.out en/examples/results/tag.tip.out en/examples/results/template.simple.changelog.out en/examples/results/template.simple.combine.out en/examples/results/template.simple.compact.out en/examples/results/template.simple.datekeyword.out en/examples/results/template.simple.keywords.out en/examples/results/template.simple.manyfilters.out en/examples/results/template.simple.normal.out en/examples/results/template.simple.rev.out en/examples/results/template.simple.simplest.out en/examples/results/template.simple.simplesub.out en/examples/results/template.svnstyle.id.out en/examples/results/template.svnstyle.result.out en/examples/results/template.svnstyle.short.out en/examples/results/template.svnstyle.simplest.out en/examples/results/template.svnstyle.style.out en/examples/results/template.svnstyle.syntax.error.out en/examples/results/template.svnstyle.syntax.input.out en/examples/results/template.svnstyle.template.out en/examples/results/tour-merge-conflict.commit.out en/examples/results/tour-merge-conflict.cousin.out en/examples/results/tour-merge-conflict.merge.out en/examples/results/tour-merge-conflict.pull.out en/examples/results/tour-merge-conflict.son.out en/examples/results/tour-merge-conflict.wife.out en/examples/results/tour.clone-pull.out en/examples/results/tour.clone-push.out en/examples/results/tour.clone.out en/examples/results/tour.commit.out en/examples/results/tour.diff.out en/examples/results/tour.help.out en/examples/results/tour.incoming.out en/examples/results/tour.log-r.out en/examples/results/tour.log-v.out en/examples/results/tour.log-vp.out en/examples/results/tour.log.out en/examples/results/tour.log.range.out en/examples/results/tour.ls-a.out en/examples/results/tour.ls.out en/examples/results/tour.merge.cat.out en/examples/results/tour.merge.clone.out en/examples/results/tour.merge.commit.out en/examples/results/tour.merge.heads.out en/examples/results/tour.merge.merge.out en/examples/results/tour.merge.parents.out en/examples/results/tour.merge.pull.out en/examples/results/tour.merge.tip.out en/examples/results/tour.merge.update.out en/examples/results/tour.older.out en/examples/results/tour.outgoing.net.out en/examples/results/tour.outgoing.out en/examples/results/tour.parents.out en/examples/results/tour.pull.out en/examples/results/tour.push.net.out en/examples/results/tour.push.nothing.out en/examples/results/tour.push.out en/examples/results/tour.reclone.out en/examples/results/tour.sed.out en/examples/results/tour.status.out en/examples/results/tour.tip.out en/examples/results/tour.update.out en/examples/results/tour.version.out en/images/feature-branches.dot en/images/filelog.svg en/images/kdiff3.png en/images/metadata.svg en/images/mq-stack.svg en/images/note.png en/images/revlog.svg en/images/snapshot.svg en/images/tour-history.svg en/images/tour-merge-conflict.svg en/images/tour-merge-merge.svg en/images/tour-merge-pull.svg en/images/tour-merge-sep-repos.svg en/images/undo-manual-merge.dot en/images/undo-manual.dot en/images/undo-non-tip.dot en/images/undo-simple.dot en/images/wdir-after-commit.svg en/images/wdir-branch.svg en/images/wdir-merge.svg en/images/wdir-pre-branch.svg en/images/wdir.svg stylesheets/base-html-stylesheet.xsl web/index.html
line diff
     1.1 --- a/.hgignore	Fri Mar 20 17:17:55 2009 +0800
     1.2 +++ b/.hgignore	Mon Mar 30 16:23:33 2009 +0800
     1.3 @@ -1,7 +1,4 @@
     1.4 -[^/]+/build/
     1.5 -[^/]+/fop/
     1.6 -[^/]+/hello/
     1.7 -[^/]+/html/
     1.8 +[^/]+/htdocs/
     1.9  
    1.10  syntax: glob
    1.11  
    1.12 @@ -13,13 +10,17 @@
    1.13  *.pyc
    1.14  *.rej
    1.15  *.run
    1.16 -*-tmp.svg
    1.17  *~
    1.18 -.*.swp
    1.19 +.*.sw[op]
    1.20  .\#*
    1.21  .run
    1.22  .validated-00book.xml
    1.23  en/all-ids.dat
    1.24  web/hgbook/.database.sqlite3
    1.25  web/hgbook/secrets.py
    1.26 +web/index-read.html.in
    1.27  stylesheets/system-xsl
    1.28 +build
    1.29 +en/html
    1.30 +en/examples/results
    1.31 +tools
    1.32 \ No newline at end of file
     2.1 --- a/Makefile	Fri Mar 20 17:17:55 2009 +0800
     2.2 +++ b/Makefile	Mon Mar 30 16:23:33 2009 +0800
     2.3 @@ -20,26 +20,26 @@
     2.4  rev_id = $(shell hg parents --template '{node|short} ({date|shortdate})')
     2.5  
     2.6  images := \
     2.7 -	en/images/feature-branches.png \
     2.8 -	en/images/filelog.png \
     2.9 -	en/images/metadata.png \
    2.10 -	en/images/mq-stack.png \
    2.11 -	en/images/revlog.png \
    2.12 -	en/images/snapshot.png \
    2.13 -	en/images/tour-history.png \
    2.14 -	en/images/tour-merge-conflict.png \
    2.15 -	en/images/tour-merge-merge.png \
    2.16 -	en/images/tour-merge-pull.png \
    2.17 -	en/images/tour-merge-sep-repos.png \
    2.18 -	en/images/undo-manual-merge.png \
    2.19 -	en/images/undo-manual.png \
    2.20 -	en/images/undo-non-tip.png \
    2.21 -	en/images/undo-simple.png \
    2.22 -	en/images/wdir-after-commit.png \
    2.23 -	en/images/wdir-branch.png \
    2.24 -	en/images/wdir-merge.png \
    2.25 -	en/images/wdir.png \
    2.26 -	en/images/wdir-pre-branch.png
    2.27 +	en/figs/feature-branches.png \
    2.28 +	en/figs/filelog.png \
    2.29 +	en/figs/metadata.png \
    2.30 +	en/figs/mq-stack.png \
    2.31 +	en/figs/revlog.png \
    2.32 +	en/figs/snapshot.png \
    2.33 +	en/figs/tour-history.png \
    2.34 +	en/figs/tour-merge-conflict.png \
    2.35 +	en/figs/tour-merge-merge.png \
    2.36 +	en/figs/tour-merge-pull.png \
    2.37 +	en/figs/tour-merge-sep-repos.png \
    2.38 +	en/figs/undo-manual-merge.png \
    2.39 +	en/figs/undo-manual.png \
    2.40 +	en/figs/undo-non-tip.png \
    2.41 +	en/figs/undo-simple.png \
    2.42 +	en/figs/wdir-after-commit.png \
    2.43 +	en/figs/wdir-branch.png \
    2.44 +	en/figs/wdir-merge.png \
    2.45 +	en/figs/wdir.png \
    2.46 +	en/figs/wdir-pre-branch.png
    2.47  
    2.48  help:
    2.49  	@echo "  make html         [LINGUA=en|zh|...]"
    2.50 @@ -53,30 +53,30 @@
    2.51  	@echo "  make clean        # Remove the build files."
    2.52  
    2.53  clean:
    2.54 -	@rm -fr build po/*.mo hello en/hello en/html en/.validated-00book.xml \
    2.55 -          stylesheets/system-xsl en/images/*-tmp.svg \
    2.56 -          en/images/feature-branches.png \
    2.57 -          en/images/filelog.png \
    2.58 -          en/images/feature-branches.png \
    2.59 -          en/images/filelog.png \
    2.60 -          en/images/metadata.png \
    2.61 -          en/images/mq-stack.png \
    2.62 -          en/images/revlog.png \
    2.63 -          en/images/snapshot.png \
    2.64 -          en/images/tour-history.png \
    2.65 -          en/images/tour-merge-conflict.png \
    2.66 -          en/images/tour-merge-merge.png \
    2.67 -          en/images/tour-merge-pull.png \
    2.68 -          en/images/tour-merge-sep-repos.png \
    2.69 -          en/images/undo-manual-merge.png \
    2.70 -          en/images/undo-manual.png \
    2.71 -          en/images/undo-non-tip.png \
    2.72 -          en/images/undo-simple.png \
    2.73 -          en/images/wdir-after-commit.png \
    2.74 -          en/images/wdir-branch.png \
    2.75 -          en/images/wdir-merge.png \
    2.76 -          en/images/wdir-pre-branch.png \
    2.77 -          en/images/wdir.png
    2.78 +	@rm -fr build po/*.mo hello en/hello en/html en/.validated-00book.xml en/examples/.run en/examples/results \
    2.79 +          stylesheets/system-xsl en/figs/*-tmp.svg \
    2.80 +          en/figs/feature-branches.png \
    2.81 +          en/figs/filelog.png \
    2.82 +          en/figs/feature-branches.png \
    2.83 +          en/figs/filelog.png \
    2.84 +          en/figs/metadata.png \
    2.85 +          en/figs/mq-stack.png \
    2.86 +          en/figs/revlog.png \
    2.87 +          en/figs/snapshot.png \
    2.88 +          en/figs/tour-history.png \
    2.89 +          en/figs/tour-merge-conflict.png \
    2.90 +          en/figs/tour-merge-merge.png \
    2.91 +          en/figs/tour-merge-pull.png \
    2.92 +          en/figs/tour-merge-sep-repos.png \
    2.93 +          en/figs/undo-manual-merge.png \
    2.94 +          en/figs/undo-manual.png \
    2.95 +          en/figs/undo-non-tip.png \
    2.96 +          en/figs/undo-simple.png \
    2.97 +          en/figs/wdir-after-commit.png \
    2.98 +          en/figs/wdir-branch.png \
    2.99 +          en/figs/wdir-merge.png \
   2.100 +          en/figs/wdir-pre-branch.png \
   2.101 +          en/figs/wdir.png
   2.102  
   2.103  all:
   2.104  ifdef LINGUA
   2.105 @@ -133,23 +133,24 @@
   2.106  	xmllint --nonet --noout --postvalid --xinclude $<
   2.107  
   2.108  ifneq "$(findstring $(LINGUA),$(DBK_LANGUAGES))" ""
   2.109 -build/$(LINGUA)/source/hgbook.xml: $(wildcard $(LINGUA)/*.xml) $(images)
   2.110 -	mkdir -p build/$(LINGUA)/source
   2.111 -	cp -r $(LINGUA)/* build/$(LINGUA)/source
   2.112 -	xmllint --nonet --noent --xinclude --postvalid --output $@.tmp $(LINGUA)/00book.xml
   2.113 +$(LINGUA)/examples/.run:
   2.114 +	(cd $(LINGUA)/examples; ./run-example -v -a)
   2.115 +
   2.116 +build/$(LINGUA)/source/hgbook.xml: $(wildcard $(LINGUA)/*.xml) $(images) $(LINGUA)/examples/.run $(images)
   2.117 +	mkdir -p build/$(LINGUA)/source/figs
   2.118 +	cp $(LINGUA)/figs/*.png build/$(LINGUA)/source/figs
   2.119 +	(cd $(LINGUA); xmllint --nonet --noent --xinclude --postvalid --output ../$@.tmp 00book.xml)
   2.120  	cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
   2.121  else
   2.122 -build/$(LINGUA)/source/hgbook.xml: $(wildcard en/*.xml) po/$(LINGUA).po $(images)
   2.123 -	mkdir -p build/$(LINGUA)/source
   2.124 -	cp -r en/images build/$(LINGUA)/source
   2.125 -	cp -r en/examples build/$(LINGUA)/source
   2.126 -	cp en/book-shortcuts.xml build/$(LINGUA)/source
   2.127 -	for f in en/*.xml; do \
   2.128 -	  if [ $$f != "en/book-shortcuts.xml" ]; then \
   2.129 -	    $(TRANSLATE) -m $$f -p po/$(LINGUA).po -l build/$(LINGUA)/source/`basename $$f`; \
   2.130 -	  fi \
   2.131 -	done
   2.132 -	xmllint --nonet --noent --xinclude --postvalid --output $@.tmp build/$(LINGUA)/source/00book.xml
   2.133 +en/examples/.run:
   2.134 +	(cd en/examples; ./run-example -v -a)
   2.135 +
   2.136 +build/en/source/hgbook.xml:
   2.137 +	${MAKE} LINGUA=en $@
   2.138 +
   2.139 +build/$(LINGUA)/source/hgbook.xml: build/en/source/hgbook.xml po/$(LINGUA).po $(images)
   2.140 +	mkdir -p build/$(LINGUA)/source/figs
   2.141 +	$(TRANSLATE) -m build/en/source/hgbook.xml -p po/$(LINGUA).po -l $@.tmp
   2.142  	cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
   2.143  endif
   2.144  
   2.145 @@ -164,8 +165,8 @@
   2.146  html: build/$(LINGUA)/html/index.html
   2.147  
   2.148  build/$(LINGUA)/html/index.html: build/$(LINGUA)/source/hgbook.xml stylesheets/html.xsl stylesheets/$(LINGUA)/html.xsl
   2.149 -	mkdir -p build/$(LINGUA)/html/images
   2.150 -	cp en/images/*.png build/$(LINGUA)/html/images
   2.151 +	mkdir -p build/$(LINGUA)/html/figs
   2.152 +	cp en/figs/*.png build/$(LINGUA)/html/figs
   2.153  	cp stylesheets/hgbook.css build/$(LINGUA)/html
   2.154  	xsltproc --output build/$(LINGUA)/html/ \
   2.155  	    stylesheets/$(LINGUA)/html.xsl build/$(LINGUA)/source/hgbook.xml
   2.156 @@ -180,8 +181,8 @@
   2.157  html-single: build/$(LINGUA)/html-single/hgbook.html
   2.158  
   2.159  build/$(LINGUA)/html-single/hgbook.html: build/$(LINGUA)/source/hgbook.xml stylesheets/html-single.xsl stylesheets/$(LINGUA)/html-single.xsl
   2.160 -	mkdir -p build/$(LINGUA)/html-single/images
   2.161 -	cp en/images/*.png build/$(LINGUA)/html-single/images
   2.162 +	mkdir -p build/$(LINGUA)/html-single/figs
   2.163 +	cp en/figs/*.png build/$(LINGUA)/html-single/figs
   2.164  	cp stylesheets/hgbook.css build/$(LINGUA)/html-single
   2.165  	xsltproc --output build/$(LINGUA)/html-single/hgbook.html \
   2.166  	    stylesheets/$(LINGUA)/html-single.xsl build/$(LINGUA)/source/hgbook.xml
   2.167 @@ -210,9 +211,9 @@
   2.168  	(cd build/$(LINGUA)/source && ../../../tools/fop/fop.sh hgbook.fo ../pdf/hgbook.pdf)
   2.169  endif
   2.170  
   2.171 -en/images/%.png: en/images/%.svg en/fixsvg
   2.172 +en/figs/%.png: en/figs/%.svg en/fixsvg
   2.173  	en/fixsvg $<
   2.174  	inkscape -D -d 120 -e $@ $<-tmp.svg
   2.175  
   2.176 -en/images/%.svg: en/images/%.dot
   2.177 +en/figs/%.svg: en/figs/%.dot
   2.178  	dot -Tsvg -o $@ $<
     3.1 --- a/en/00book.xml	Fri Mar 20 17:17:55 2009 +0800
     3.2 +++ b/en/00book.xml	Mon Mar 30 16:23:33 2009 +0800
     3.3 @@ -1,7 +1,7 @@
     3.4  <?xml version="1.0" encoding="UTF-8"?>
     3.5  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     3.6 -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
     3.7 - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
     3.8 +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3.9 + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
    3.10  [
    3.11  <!-- Below are references to files in this directory. -->
    3.12  
     4.1 --- a/en/Makefile	Fri Mar 20 17:17:55 2009 +0800
     4.2 +++ b/en/Makefile	Mon Mar 30 16:23:33 2009 +0800
     4.3 @@ -1,28 +1,6 @@
     4.4  # This makefile requires GNU make.
     4.5  
     4.6 -image-sources := \
     4.7 -	feature-branches.dot \
     4.8 -	filelog.svg \
     4.9 -	kdiff3.png \
    4.10 -	metadata.svg \
    4.11 -	mq-stack.svg \
    4.12 -	note.png \
    4.13 -	revlog.svg \
    4.14 -	snapshot.svg \
    4.15 -	tour-history.svg \
    4.16 -	tour-merge-conflict.svg \
    4.17 -	tour-merge-merge.svg \
    4.18 -	tour-merge-pull.svg \
    4.19 -	tour-merge-sep-repos.svg \
    4.20 -	undo-manual.dot \
    4.21 -	undo-manual-merge.dot \
    4.22 -	undo-non-tip.dot \
    4.23 -	undo-simple.dot \
    4.24 -	wdir.svg \
    4.25 -	wdir-after-commit.svg \
    4.26 -	wdir-branch.svg \
    4.27 -	wdir-merge.svg \
    4.28 -	wdir-pre-branch.svg
    4.29 +image-sources := $(wildcard figs/*.dot figs/*.gif figs/*.png figs/*.svg)
    4.30  
    4.31  xml-src-files := \
    4.32  	00book.xml \
    4.33 @@ -31,9 +9,16 @@
    4.34  
    4.35  image-dot := $(filter %.dot,$(image-sources))
    4.36  image-svg := $(filter %.svg,$(image-sources))
    4.37 -image-png := $(filter %.png,$(image-sources))
    4.38 -
    4.39 -image-html := $(image-dot:%.dot=%.png) $(image-svg:%.svg=%.png) $(image-png)
    4.40 +image-oth := $(filter %.gif %.png,$(image-sources))
    4.41 +
    4.42 +obj-web := html
    4.43 +obj-websup := $(obj-web)/support
    4.44 +obj-web-read := $(obj-web)/read
    4.45 +
    4.46 +image-web := \
    4.47 +	$(image-dot:%.dot=$(obj-web-read)/%.png) \
    4.48 +	$(image-svg:%.svg=$(obj-web-read)/%.png) \
    4.49 +	$(image-oth:%=$(obj-web-read)/%)
    4.50  
    4.51  example-sources-by-name := \
    4.52  	backout \
    4.53 @@ -71,9 +56,6 @@
    4.54  	$(example-sources-by-name:%=examples/%) \
    4.55  	$(wildcard examples/ch*/*)
    4.56  
    4.57 -obj-web := html
    4.58 -obj-websup := html/support
    4.59 -
    4.60  extras-web-base := \
    4.61  	$(obj-web)/index.html \
    4.62  	$(obj-web)/robots.txt \
    4.63 @@ -130,24 +112,30 @@
    4.64  
    4.65  all: web
    4.66  
    4.67 -../xsl/system-xsl: $(system-xsl-dir)
    4.68 +../stylesheets/system-xsl: $(system-xsl-dir)
    4.69  	ln -s $< $@
    4.70  
    4.71 -web: ../xsl/system-xsl websup html
    4.72 -
    4.73 -html: ../xsl/system-xsl $(xml-src-files) valid
    4.74 -	xsltproc $(xsltproc-opts) -o html/read/x ../xsl/chunk-stylesheet.xsl 00book.xml
    4.75 -	for i in html/read/*.html; do \
    4.76 +web: ../stylesheets/system-xsl websup html
    4.77 +
    4.78 +html: $(obj-web-read)/index.html
    4.79 +
    4.80 +../web/index-read.html.in: ../web/genindex.py $(xml-src-files)
    4.81 +	$<
    4.82 +
    4.83 +$(obj-web-read)/index.html: ../stylesheets/system-xsl .validated-00book.xml ../web/index-read.html.in
    4.84 +	xsltproc $(xsltproc-opts) -o $(obj-web-read)/x ../stylesheets/chunk-stylesheet.xsl 00book.xml
    4.85 +	python ../web/texpand.py ../web/index-read.html.in html/read/index.html
    4.86 +	for i in $(obj-web-read)/*.html; do \
    4.87  	  gzip -9 -c $$i > $$i.gz; \
    4.88  	done
    4.89  
    4.90 -websup: $(extras-web)
    4.91 -	mkdir -p $(obj-websup)/figs
    4.92 -	cp ../xsl/system-xsl/images/*.png $(obj-websup)/figs
    4.93 +websup: $(extras-web) $(image-web)
    4.94 +	mkdir -p $(obj-websup)/figs $(obj-web-read)/figs
    4.95 +	cp ../stylesheets/system-xsl/images/*.png $(obj-websup)/figs
    4.96  	cp -f ../web/icons/*.png $(obj-websup)/figs
    4.97  
    4.98 -all-ids.dat: ../xsl/all-ids.xsl $(xml-src-files)
    4.99 -	$(xsltproc) $(xsltproc-opts) -o $@ ../xsl/all-ids.xsl 00book.xml
   4.100 +all-ids.dat: ../stylesheets/all-ids.xsl $(xml-src-files)
   4.101 +	$(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/all-ids.xsl 00book.xml
   4.102  
   4.103  web: websup
   4.104  
   4.105 @@ -159,12 +147,26 @@
   4.106  
   4.107  # Produce 90dpi PNGs for the web.
   4.108  
   4.109 -%.png: %.svg fixsvg
   4.110 +$(obj-web-read)/figs/%.png: $(obj-web-read)/figs/%.svg fixsvg
   4.111 +	mkdir -p $(dir $@)
   4.112  	./fixsvg $<
   4.113  	inkscape -D -e $@ $<-tmp.svg
   4.114  	rm $<-tmp.svg
   4.115  
   4.116 -%.svg: %.dot
   4.117 +$(obj-web-read)/figs/%.png: figs/%.svg fixsvg
   4.118 +	mkdir -p $(dir $@)
   4.119 +	./fixsvg $<
   4.120 +	inkscape -D -e $@ $<-tmp.svg
   4.121 +	rm $<-tmp.svg
   4.122 +
   4.123 +$(obj-web-read)/figs/%.gif: figs/%.gif
   4.124 +	cp $< $@
   4.125 +
   4.126 +$(obj-web-read)/figs/%.png: figs/%.png
   4.127 +	cp $< $@
   4.128 +
   4.129 +$(obj-web-read)/figs/%.svg: figs/%.dot
   4.130 +	mkdir -p $(dir $@)
   4.131  	dot -Tsvg -o $@ $<
   4.132  
   4.133  examples: $(example-prereqs) examples/.run
   4.134 @@ -188,6 +190,7 @@
   4.135  	rsync -avz --delete dist sp.red-bean.com:public_html/hgbook
   4.136  
   4.137  vpath %.css ../web
   4.138 +vpath %.html.in ../web
   4.139  vpath %.js ../web/javascript
   4.140  
   4.141  $(obj-websup)/%.css: %.css
     5.1 --- a/en/appA-cmdref.xml	Fri Mar 20 17:17:55 2009 +0800
     5.2 +++ b/en/appA-cmdref.xml	Mon Mar 30 16:23:33 2009 +0800
     5.3 @@ -1,6 +1,7 @@
     5.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     5.5  
     5.6  <appendix id="cmdref">
     5.7 +  <?dbhtml filename="command-reference.html"?>
     5.8  <title>Command reference</title>
     5.9  
    5.10  <para id="x_653">\cmdref{add}{add files at the next commit}
    5.11 @@ -12,7 +13,7 @@
    5.12  
    5.13  <para id="x_655">Show differences between revisions for the specified files or
    5.14  directories, using the unified diff format.  For a description of the
    5.15 -unified diff format, see section <xref linkend="sec.mq.patch"/>.</para>
    5.16 +unified diff format, see <xref linkend="sec:mq:patch"/>.</para>
    5.17  
    5.18  <para id="x_656">By default, this command does not print diffs for files that Mercurial
    5.19  considers to contain binary data.  To control this behaviour, see the
    5.20 @@ -20,7 +21,7 @@
    5.21  
    5.22  <sect2>
    5.23  <title>Options</title>
    5.24 -
    5.25 +x
    5.26  <para id="x_657">\loptref{diff}{nodates}</para>
    5.27  
    5.28  <para id="x_658">Omit date and time information when printing diff headers.</para>
    5.29 @@ -158,7 +159,7 @@
    5.30  <sect2>
    5.31  <title>Tips and tricks</title>
    5.32  
    5.33 -<sect3 id="cmdref.diff-vs-status">
    5.34 +<sect3 id="cmdref:diff-vs-status">
    5.35  <title>Why do the results of <command role="hg-cmd">hg diff</command> and <command role="hg-cmd">hg status</command> differ?</title>
    5.36  
    5.37  <para id="x_676">When you run the <command role="hg-cmd">hg status</command> command, you'll see a list of files
     6.1 --- a/en/appB-mq-ref.xml	Fri Mar 20 17:17:55 2009 +0800
     6.2 +++ b/en/appB-mq-ref.xml	Mon Mar 30 16:23:33 2009 +0800
     6.3 @@ -1,10 +1,10 @@
     6.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     6.5  
     6.6 -<appendix id="chap.mqref">
     6.7 +<appendix id="chap:mqref">
     6.8    <?dbhtml filename="mercurial-queues-reference.html"?>
     6.9    <title>Mercurial Queues reference</title>
    6.10  
    6.11 -  <sect1 id="sec.mqref.cmdref">
    6.12 +  <sect1 id="sec:mqref:cmdref">
    6.13      <title>MQ command reference</title>
    6.14  
    6.15      <para id="x_5e8">For an overview of the commands provided by MQ, use the
    6.16 @@ -296,7 +296,7 @@
    6.17  	  role="hg-ext-mq">qpop</command>.</para>
    6.18  
    6.19      </sect2>
    6.20 -    <sect2 id="sec.mqref.cmd.qpush">
    6.21 +    <sect2 id="sec:mqref:cmd:qpush">
    6.22        <title><command role="hg-ext-mq">qpush</command>&emdash;push
    6.23  	patches onto the stack</title>
    6.24  
     7.1 --- a/en/appC-srcinstall.xml	Fri Mar 20 17:17:55 2009 +0800
     7.2 +++ b/en/appC-srcinstall.xml	Mon Mar 30 16:23:33 2009 +0800
     7.3 @@ -1,10 +1,10 @@
     7.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     7.5  
     7.6 -<appendix id="chap.srcinstall">
     7.7 +<appendix id="chap:srcinstall">
     7.8    <?dbhtml filename="installing-mercurial-from-source.html"?>
     7.9    <title>Installing Mercurial from source</title>
    7.10  
    7.11 -  <sect1 id="sec.srcinstall.unixlike">
    7.12 +  <sect1 id="sec:srcinstall:unixlike">
    7.13      <title>On a Unix-like system</title>
    7.14  
    7.15      <para id="x_5e0">If you are using a Unix-like system that has a sufficiently
     8.1 --- a/en/appD-license.xml	Fri Mar 20 17:17:55 2009 +0800
     8.2 +++ b/en/appD-license.xml	Mon Mar 30 16:23:33 2009 +0800
     8.3 @@ -1,6 +1,6 @@
     8.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     8.5  
     8.6 -<appendix id="cha.opl">
     8.7 +<appendix id="cha:opl">
     8.8    <?dbhtml filename="open-publication-license.html"?>
     8.9    <title>Open Publication License</title>
    8.10  
    8.11 @@ -32,7 +32,7 @@
    8.12  
    8.13      <para id="x_63c">The reference must be immediately followed with any options
    8.14        elected by the author(s) and/or publisher of the document (see
    8.15 -      section <xref linkend="sec.opl.options"/>).</para>
    8.16 +      <xref linkend="sec:opl:options"/>).</para>
    8.17  
    8.18      <para id="x_63d">Commercial redistribution of Open Publication-licensed
    8.19        material is permitted.</para>
    8.20 @@ -133,7 +133,7 @@
    8.21        </listitem></orderedlist>
    8.22  
    8.23    </sect1>
    8.24 -  <sect1 id="sec.opl.options">
    8.25 +  <sect1 id="sec:opl:options">
    8.26      <title>License options</title>
    8.27  
    8.28      <para id="x_64e">The author(s) and/or publisher of an Open
     9.1 --- a/en/ch00-preface.xml	Fri Mar 20 17:17:55 2009 +0800
     9.2 +++ b/en/ch00-preface.xml	Mon Mar 30 16:23:33 2009 +0800
     9.3 @@ -1,6 +1,6 @@
     9.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     9.5  
     9.6 -<preface id="chap.preface">
     9.7 +<preface id="chap:preface">
     9.8    <?dbhtml filename="preface.html"?>
     9.9    <title>Preface</title>
    9.10  
    9.11 @@ -61,8 +61,8 @@
    9.12  	    can revert to an earlier version of one or more files.  In
    9.13  	    fact, a <emphasis>really</emphasis> good revision control
    9.14  	    tool will even help you to efficiently figure out exactly
    9.15 -	    when a problem was introduced (see section <xref
    9.16 -	      linkend="sec.undo.bisect"/> for details).</para></listitem>
    9.17 +	    when a problem was introduced (see <xref
    9.18 +	      linkend="sec:undo:bisect"/> for details).</para></listitem>
    9.19  	<listitem><para id="x_75">It will help you to work simultaneously on,
    9.20  	    and manage the drift between, multiple versions of your
    9.21  	    project.</para></listitem>
    9.22 @@ -167,8 +167,8 @@
    9.23      <para id="x_87">As an instance of this, several consecutive commits in an
    9.24        example can show up as having occurred during the same second.
    9.25        You can see this occur in the <literal
    9.26 -	role="hg-ext">bisect</literal> example in section <xref
    9.27 -	linkend="sec.undo.bisect"/>, for instance.</para>
    9.28 +	role="hg-ext">bisect</literal> example in <xref
    9.29 +	linkend="sec:undo:bisect"/>, for instance.</para>
    9.30  
    9.31      <para id="x_88">So when you're reading examples, don't place too much weight
    9.32        on the dates or times you see in the output of commands.  But
    10.1 --- a/en/ch01-tour-basic.xml	Fri Mar 20 17:17:55 2009 +0800
    10.2 +++ b/en/ch01-tour-basic.xml	Mon Mar 30 16:23:33 2009 +0800
    10.3 @@ -1,27 +1,27 @@
    10.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    10.5  
    10.6 -<chapter id="chap.tour-basic">
    10.7 +<chapter id="chap:tour-basic">
    10.8    <?dbhtml filename="a-tour-of-mercurial-the-basics.html"?>
    10.9    <title>A tour of Mercurial: the basics</title>
   10.10  
   10.11 -  <sect1 id="sec.tour.install">
   10.12 +  <sect1 id="sec:tour:install">
   10.13      <title>Installing Mercurial on your system</title>
   10.14  
   10.15 -    <para>Prebuilt binary packages of Mercurial are available for
   10.16 +    <para id="x_1">Prebuilt binary packages of Mercurial are available for
   10.17        every popular operating system.  These make it easy to start
   10.18        using Mercurial on your computer immediately.</para>
   10.19  
   10.20      <sect2>
   10.21        <title>Linux</title>
   10.22  
   10.23 -      <para>Because each Linux distribution has its own packaging
   10.24 +      <para id="x_2">Because each Linux distribution has its own packaging
   10.25  	tools, policies, and rate of development, it's difficult to
   10.26  	give a comprehensive set of instructions on how to install
   10.27  	Mercurial binaries.  The version of Mercurial that you will
   10.28  	end up with can vary depending on how active the person is who
   10.29  	maintains the package for your distribution.</para>
   10.30  
   10.31 -      <para>To keep things simple, I will focus on installing
   10.32 +      <para id="x_3">To keep things simple, I will focus on installing
   10.33  	Mercurial from the command line under the most popular Linux
   10.34  	distributions.  Most of these distributions provide graphical
   10.35  	package managers that will let you install Mercurial with a
   10.36 @@ -29,15 +29,15 @@
   10.37  	<literal>mercurial</literal>.</para>
   10.38  
   10.39        <itemizedlist>
   10.40 -	<listitem><para>Debian:</para>
   10.41 +	<listitem><para id="x_4">Debian:</para>
   10.42  	  <programlisting>apt-get install mercurial</programlisting></listitem>
   10.43 -	<listitem><para>Fedora Core:</para>
   10.44 +	<listitem><para id="x_5">Fedora Core:</para>
   10.45  	  <programlisting>yum install mercurial</programlisting></listitem>
   10.46 -	<listitem><para>Gentoo:</para>
   10.47 +	<listitem><para id="x_6">Gentoo:</para>
   10.48  	  <programlisting>emerge mercurial</programlisting></listitem>
   10.49 -	<listitem><para>OpenSUSE:</para>
   10.50 +	<listitem><para id="x_7">OpenSUSE:</para>
   10.51  	  <programlisting>yum install mercurial</programlisting></listitem>
   10.52 -	<listitem><para>Ubuntu: Ubuntu's Mercurial package is based on
   10.53 +	<listitem><para id="x_8">Ubuntu: Ubuntu's Mercurial package is based on
   10.54  	    Debian's.  To install it, run the following
   10.55  	    command.</para>
   10.56  	  <programlisting>apt-get install mercurial</programlisting></listitem>
   10.57 @@ -47,7 +47,7 @@
   10.58      <sect2>
   10.59        <title>Solaris</title>
   10.60  
   10.61 -      <para>SunFreeWare, at <ulink
   10.62 +      <para id="x_9">SunFreeWare, at <ulink
   10.63  	  url="http://www.sunfreeware.com">http://www.sunfreeware.com</ulink>, 
   10.64  	is a good source for a large number of pre-built Solaris
   10.65  	packages for 32 and 64 bit Intel and Sparc architectures,
   10.66 @@ -57,7 +57,7 @@
   10.67      <sect2>
   10.68        <title>Mac OS X</title>
   10.69  
   10.70 -      <para>Lee Cantey publishes an installer of Mercurial for Mac OS
   10.71 +      <para id="x_a">Lee Cantey publishes an installer of Mercurial for Mac OS
   10.72  	X at <ulink
   10.73  	  url="http://mercurial.berkwood.com">http://mercurial.berkwood.com</ulink>. 
   10.74  	This package works on both Intel- and Power-based Macs. Before
   10.75 @@ -66,7 +66,7 @@
   10.76  	is easy to do; simply follow the instructions on Lee's
   10.77  	site.</para>
   10.78  
   10.79 -      <para>It's also possible to install Mercurial using Fink or
   10.80 +      <para id="x_b">It's also possible to install Mercurial using Fink or
   10.81  	MacPorts, two popular free package managers for Mac OS X.  If
   10.82  	you have Fink, use <command>sudo apt-get install
   10.83  	  mercurial-py25</command>.  If MacPorts, <command>sudo port
   10.84 @@ -76,14 +76,14 @@
   10.85      <sect2>
   10.86        <title>Windows</title>
   10.87  
   10.88 -      <para>Lee Cantey publishes an installer of Mercurial for Windows
   10.89 +      <para id="x_c">Lee Cantey publishes an installer of Mercurial for Windows
   10.90  	at <ulink
   10.91  	  url="http://mercurial.berkwood.com">http://mercurial.berkwood.com</ulink>. 
   10.92  	This package has no external dependencies; it <quote>just
   10.93  	  works</quote>.</para>
   10.94  
   10.95        <note>
   10.96 -	<para>  The Windows version of Mercurial does not
   10.97 +	<para id="x_d">  The Windows version of Mercurial does not
   10.98  	  automatically convert line endings between Windows and Unix
   10.99  	  styles.  If you want to share work with Unix users, you must
  10.100  	  do a little additional configuration work. XXX Flesh this
  10.101 @@ -95,7 +95,7 @@
  10.102    <sect1>
  10.103      <title>Getting started</title>
  10.104  
  10.105 -    <para>To begin, we'll use the <command role="hg-cmd">hg
  10.106 +    <para id="x_e">To begin, we'll use the <command role="hg-cmd">hg
  10.107  	version</command> command to find out whether Mercurial is
  10.108        actually installed properly.  The actual version information
  10.109        that it prints isn't so important; it's whether it prints
  10.110 @@ -106,7 +106,7 @@
  10.111      <sect2>
  10.112        <title>Built-in help</title>
  10.113  
  10.114 -      <para>Mercurial provides a built-in help system.  This is
  10.115 +      <para id="x_f">Mercurial provides a built-in help system.  This is
  10.116  	  invaluable for those times when you find yourself stuck
  10.117  	  trying to remember how to run a command.  If you are
  10.118  	  completely stuck, simply run <command role="hg-cmd">hg
  10.119 @@ -117,7 +117,7 @@
  10.120  
  10.121  	&interaction.tour.help;
  10.122  
  10.123 -	<para>For a more impressive level of detail (which you won't
  10.124 +	<para id="x_10">For a more impressive level of detail (which you won't
  10.125  	  usually need) run <command role="hg-cmd">hg help <option
  10.126  	      role="hg-opt-global">-v</option></command>.  The <option
  10.127  	    role="hg-opt-global">-v</option> option is short for
  10.128 @@ -130,13 +130,13 @@
  10.129    <sect1>
  10.130      <title>Working with a repository</title>
  10.131  
  10.132 -    <para>In Mercurial, everything happens inside a
  10.133 +    <para id="x_11">In Mercurial, everything happens inside a
  10.134        <emphasis>repository</emphasis>.  The repository for a project
  10.135        contains all of the files that <quote>belong to</quote> that
  10.136        project, along with a historical record of the project's
  10.137        files.</para>
  10.138  
  10.139 -    <para>There's nothing particularly magical about a repository; it
  10.140 +    <para id="x_12">There's nothing particularly magical about a repository; it
  10.141        is simply a directory tree in your filesystem that Mercurial
  10.142        treats as special. You can rename or delete a repository any
  10.143        time you like, using either the command line or your file
  10.144 @@ -145,7 +145,7 @@
  10.145      <sect2>
  10.146        <title>Making a local copy of a repository</title>
  10.147  
  10.148 -      <para><emphasis>Copying</emphasis> a repository is just a little
  10.149 +      <para id="x_13"><emphasis>Copying</emphasis> a repository is just a little
  10.150  	bit special.  While you could use a normal file copying
  10.151  	command to make a copy of a repository, it's best to use a
  10.152  	built-in command that Mercurial provides.  This command is
  10.153 @@ -154,23 +154,23 @@
  10.154  
  10.155        &interaction.tour.clone;
  10.156  
  10.157 -      <para>If our clone succeeded, we should now have a local
  10.158 +      <para id="x_14">If our clone succeeded, we should now have a local
  10.159  	directory called <filename class="directory">hello</filename>.
  10.160  	This directory will contain some files.</para>
  10.161  
  10.162        &interaction.tour.ls;
  10.163  
  10.164 -      <para>These files have the same contents and history in our
  10.165 +      <para id="x_15">These files have the same contents and history in our
  10.166  	repository as they do in the repository we cloned.</para>
  10.167  
  10.168 -      <para>Every Mercurial repository is complete, self-contained,
  10.169 +      <para id="x_16">Every Mercurial repository is complete, self-contained,
  10.170  	and independent.  It contains its own private copy of a
  10.171  	project's files and history.  A cloned repository remembers
  10.172  	the location of the repository it was cloned from, but it does
  10.173  	not communicate with that repository, or any other, unless you
  10.174  	tell it to.</para>
  10.175  
  10.176 -      <para>What this means for now is that we're free to experiment
  10.177 +      <para id="x_17">What this means for now is that we're free to experiment
  10.178  	with our repository, safe in the knowledge that it's a private
  10.179  	<quote>sandbox</quote> that won't affect anyone else.</para>
  10.180  
  10.181 @@ -178,20 +178,20 @@
  10.182      <sect2>
  10.183        <title>What's in a repository?</title>
  10.184  
  10.185 -      <para>When we take a more detailed look inside a repository, we
  10.186 +      <para id="x_18">When we take a more detailed look inside a repository, we
  10.187  	can see that it contains a directory named <filename
  10.188  	  class="directory">.hg</filename>.  This is where Mercurial
  10.189  	keeps all of its metadata for the repository.</para>
  10.190  
  10.191        &interaction.tour.ls-a;
  10.192  
  10.193 -      <para>The contents of the <filename
  10.194 +      <para id="x_19">The contents of the <filename
  10.195  	  class="directory">.hg</filename> directory and its
  10.196  	subdirectories are private to Mercurial.  Every other file and
  10.197  	directory in the repository is yours to do with as you
  10.198  	please.</para>
  10.199  
  10.200 -      <para>To introduce a little terminology, the <filename
  10.201 +      <para id="x_1a">To introduce a little terminology, the <filename
  10.202  	  class="directory">.hg</filename> directory is the
  10.203  	<quote>real</quote> repository, and all of the files and
  10.204  	directories that coexist with it are said to live in the
  10.205 @@ -208,68 +208,66 @@
  10.206    <sect1>
  10.207      <title>A tour through history</title>
  10.208  
  10.209 -    <para>One of the first things we might want to do with a new,
  10.210 +    <para id="x_1b">One of the first things we might want to do with a new,
  10.211        unfamiliar repository is understand its history.  The <command
  10.212  	role="hg-cmd">hg log</command> command gives us a view of
  10.213        history.</para>
  10.214  
  10.215      &interaction.tour.log;
  10.216  
  10.217 -    <para>By default, this command prints a brief paragraph of output
  10.218 +    <para id="x_1c">By default, this command prints a brief paragraph of output
  10.219        for each change to the project that was recorded.  In Mercurial
  10.220        terminology, we call each of these recorded events a
  10.221        <emphasis>changeset</emphasis>, because it can contain a record
  10.222        of changes to several files.</para>
  10.223  
  10.224 -    <para>The fields in a record of output from <command
  10.225 +    <para id="x_1d">The fields in a record of output from <command
  10.226  	role="hg-cmd">hg log</command> are as follows.</para>
  10.227      <itemizedlist>
  10.228 -      <listitem><para><literal>changeset</literal>: This field has the
  10.229 +      <listitem><para id="x_1e"><literal>changeset</literal>: This field has the
  10.230  	  format of a number, followed by a colon, followed by a
  10.231  	  hexadecimal string.  These are
  10.232  	  <emphasis>identifiers</emphasis> for the changeset.  There
  10.233  	  are two identifiers because the number is shorter and easier
  10.234  	  to type than the hex string.</para></listitem>
  10.235 -      <listitem><para><literal>user</literal>: The identity of the
  10.236 +      <listitem><para id="x_1f"><literal>user</literal>: The identity of the
  10.237  	  person who created the changeset.  This is a free-form
  10.238  	  field, but it most often contains a person's name and email
  10.239  	  address.</para></listitem>
  10.240 -      <listitem><para><literal>date</literal>: The date and time on
  10.241 +      <listitem><para id="x_20"><literal>date</literal>: The date and time on
  10.242  	  which the changeset was created, and the timezone in which
  10.243  	  it was created.  (The date and time are local to that
  10.244  	  timezone; they display what time and date it was for the
  10.245  	  person who created the changeset.)</para></listitem>
  10.246 -      <listitem><para><literal>summary</literal>: The first line of
  10.247 +      <listitem><para id="x_21"><literal>summary</literal>: The first line of
  10.248  	  the text message that the creator of the changeset entered
  10.249  	  to describe the changeset.</para></listitem></itemizedlist>
  10.250 -    <para>The default output printed by <command role="hg-cmd">hg
  10.251 +    <para id="x_22">The default output printed by <command role="hg-cmd">hg
  10.252  	log</command> is purely a summary; it is missing a lot of
  10.253        detail.</para>
  10.254  
  10.255 -    <para>Figure <xref endterm="fig.tour-basic.history.caption"
  10.256 -        linkend="fig.tour-basic.history"/> provides a
  10.257 -      graphical representation of the history of the <filename
  10.258 +    <para id="x_23"><xref linkend="fig:tour-basic:history"/> provides
  10.259 +      a graphical representation of the history of the <filename
  10.260  	class="directory">hello</filename> repository, to make it a
  10.261        little easier to see which direction history is
  10.262        <quote>flowing</quote> in.  We'll be returning to this figure
  10.263        several times in this chapter and the chapter that
  10.264        follows.</para>
  10.265  
  10.266 -    <informalfigure id="fig.tour-basic.history">
  10.267 +    <figure id="fig:tour-basic:history">
  10.268 +      <title>Graphical history of the <filename
  10.269 +	  class="directory">hello</filename> repository</title>
  10.270        <mediaobject>
  10.271 -	<imageobject><imagedata fileref="images/tour-history.png"/></imageobject>
  10.272 +	<imageobject><imagedata fileref="figs/tour-history.png"/></imageobject>
  10.273  	<textobject><phrase>XXX add text</phrase></textobject>
  10.274 -	<caption><para id="fig.tour-basic.history.caption">Graphical history of
  10.275 -	    the <filename class="directory">hello</filename> repository</para>
  10.276 -	</caption>
  10.277        </mediaobject>
  10.278 -    </informalfigure>
  10.279 +    </figure>
  10.280  
  10.281      <sect2>
  10.282        <title>Changesets, revisions, and talking to other
  10.283  	people</title>
  10.284  
  10.285 -      <para>As English is a notoriously sloppy language, and computer
  10.286 +      <para id="x_25">As English is a notoriously sloppy language, and computer
  10.287  	science has a hallowed history of terminological confusion
  10.288  	(why use one term when four will do?), revision control has a
  10.289  	variety of words and phrases that mean the same thing.  If you
  10.290 @@ -279,7 +277,7 @@
  10.291  	<quote>cset</quote>, and sometimes a changeset is referred to
  10.292  	as a <quote>revision</quote> or a <quote>rev</quote>.</para>
  10.293  
  10.294 -      <para>While it doesn't matter what <emphasis>word</emphasis> you
  10.295 +      <para id="x_26">While it doesn't matter what <emphasis>word</emphasis> you
  10.296  	use to refer to the concept of <quote>a changeset</quote>, the
  10.297  	<emphasis>identifier</emphasis> that you use to refer to
  10.298  	<quote>a <emphasis>specific</emphasis> changeset</quote> is of
  10.299 @@ -288,14 +286,14 @@
  10.300  	  log</command> identifies a changeset using both a number and
  10.301  	a hexadecimal string.</para>
  10.302        <itemizedlist>
  10.303 -	<listitem><para>The revision number is <emphasis>only valid in
  10.304 +	<listitem><para id="x_27">The revision number is <emphasis>only valid in
  10.305  	      that repository</emphasis>,</para></listitem>
  10.306 -	<listitem><para>while the hex string is the
  10.307 +	<listitem><para id="x_28">while the hex string is the
  10.308  	    <emphasis>permanent, unchanging identifier</emphasis> that
  10.309  	    will always identify that exact changeset in
  10.310  	    <emphasis>every</emphasis> copy of the
  10.311  	    repository.</para></listitem></itemizedlist>
  10.312 -      <para>This distinction is important.  If you send someone an
  10.313 +      <para id="x_29">This distinction is important.  If you send someone an
  10.314  	email talking about <quote>revision 33</quote>, there's a high
  10.315  	likelihood that their revision 33 will <emphasis>not be the
  10.316  	  same</emphasis> as yours.  The reason for this is that a
  10.317 @@ -305,7 +303,7 @@
  10.318  	repositories. Three changes $a,b,c$ can easily appear in one
  10.319  	repository as $0,1,2$, while in another as $1,0,2$.</para>
  10.320  
  10.321 -      <para>Mercurial uses revision numbers purely as a convenient
  10.322 +      <para id="x_2a">Mercurial uses revision numbers purely as a convenient
  10.323  	shorthand.  If you need to discuss a changeset with someone,
  10.324  	or make a record of a changeset for some other reason (for
  10.325  	example, in a bug report), use the hexadecimal
  10.326 @@ -315,7 +313,7 @@
  10.327      <sect2>
  10.328        <title>Viewing specific revisions</title>
  10.329  
  10.330 -      <para>To narrow the output of <command role="hg-cmd">hg
  10.331 +      <para id="x_2b">To narrow the output of <command role="hg-cmd">hg
  10.332  	  log</command> down to a single revision, use the <option
  10.333  	  role="hg-opt-log">-r</option> (or <option
  10.334  	  role="hg-opt-log">--rev</option>) option.  You can use
  10.335 @@ -324,7 +322,7 @@
  10.336  
  10.337        &interaction.tour.log-r;
  10.338  
  10.339 -      <para>If you want to see the history of several revisions
  10.340 +      <para id="x_2c">If you want to see the history of several revisions
  10.341  	without having to list each one, you can use <emphasis>range
  10.342  	  notation</emphasis>; this lets you express the idea <quote>I
  10.343  	  want all revisions between <literal>abc</literal> and
  10.344 @@ -332,7 +330,7 @@
  10.345        
  10.346  	&interaction.tour.log.range;
  10.347  
  10.348 -      <para>Mercurial also honours the order in which you specify
  10.349 +      <para id="x_2d">Mercurial also honours the order in which you specify
  10.350  	revisions, so <command role="hg-cmd">hg log -r 2:4</command>
  10.351  	prints 2, 3, and 4. while <command role="hg-cmd">hg log -r
  10.352  	  4:2</command> prints 4, 3, and 2.</para>
  10.353 @@ -341,7 +339,7 @@
  10.354      <sect2>
  10.355        <title>More detailed information</title>
  10.356  
  10.357 -      <para>While the summary information printed by <command
  10.358 +      <para id="x_2e">While the summary information printed by <command
  10.359  	  role="hg-cmd">hg log</command> is useful if you already know
  10.360  	what you're looking for, you may need to see a complete
  10.361  	description of the change, or a list of the files changed, if
  10.362 @@ -353,13 +351,13 @@
  10.363  
  10.364        &interaction.tour.log-v;
  10.365  
  10.366 -      <para>If you want to see both the description and content of a
  10.367 -	change, add the <option role="hg-opt-log">-p</option> (or
  10.368 -	<option role="hg-opt-log">--patch</option>) option.  This
  10.369 -	displays the content of a change as a <emphasis>unified
  10.370 -	  diff</emphasis> (if you've never seen a unified diff before,
  10.371 -	see section <xref linkend="sec.mq.patch"/> for an
  10.372 -	overview).</para>
  10.373 +      <para id="x_2f">If you want to see both the description and
  10.374 +	content of a change, add the <option
  10.375 +	  role="hg-opt-log">-p</option> (or <option
  10.376 +	  role="hg-opt-log">--patch</option>) option.  This displays
  10.377 +	the content of a change as a <emphasis>unified diff</emphasis>
  10.378 +	(if you've never seen a unified diff before, see <xref
  10.379 +	  linkend="sec:mq:patch"/> for an overview).</para>
  10.380  
  10.381        &interaction.tour.log-vp;
  10.382  
  10.383 @@ -368,39 +366,39 @@
  10.384    <sect1>
  10.385      <title>All about command options</title>
  10.386  
  10.387 -    <para>Let's take a brief break from exploring Mercurial commands
  10.388 +    <para id="x_30">Let's take a brief break from exploring Mercurial commands
  10.389        to discuss a pattern in the way that they work; you may find
  10.390        this useful to keep in mind as we continue our tour.</para>
  10.391  
  10.392 -    <para>Mercurial has a consistent and straightforward approach to
  10.393 +    <para id="x_31">Mercurial has a consistent and straightforward approach to
  10.394        dealing with the options that you can pass to commands.  It
  10.395        follows the conventions for options that are common to modern
  10.396        Linux and Unix systems.</para>
  10.397      <itemizedlist>
  10.398 -      <listitem><para>Every option has a long name.  For example, as
  10.399 +      <listitem><para id="x_32">Every option has a long name.  For example, as
  10.400  	  we've already seen, the <command role="hg-cmd">hg
  10.401  	    log</command> command accepts a <option
  10.402  	    role="hg-opt-log">--rev</option> option.</para></listitem>
  10.403 -      <listitem><para>Most options have short names, too.  Instead of
  10.404 +      <listitem><para id="x_33">Most options have short names, too.  Instead of
  10.405  	  <option role="hg-opt-log">--rev</option>, we can use <option
  10.406  	    role="hg-opt-log">-r</option>.  (The reason that some
  10.407  	  options don't have short names is that the options in
  10.408  	  question are rarely used.)</para></listitem>
  10.409 -      <listitem><para>Long options start with two dashes (e.g. <option
  10.410 +      <listitem><para id="x_34">Long options start with two dashes (e.g. <option
  10.411  	    role="hg-opt-log">--rev</option>), while short options
  10.412  	  start with one (e.g. <option
  10.413  	    role="hg-opt-log">-r</option>).</para></listitem>
  10.414 -      <listitem><para>Option naming and usage is consistent across
  10.415 +      <listitem><para id="x_35">Option naming and usage is consistent across
  10.416  	  commands.  For example, every command that lets you specify
  10.417  	  a changeset ID or revision number accepts both <option
  10.418  	    role="hg-opt-log">-r</option> and <option
  10.419  	    role="hg-opt-log">--rev</option>
  10.420  	  arguments.</para></listitem></itemizedlist>
  10.421 -    <para>In the examples throughout this book, I use short options
  10.422 +    <para id="x_36">In the examples throughout this book, I use short options
  10.423        instead of long.  This just reflects my own preference, so don't
  10.424        read anything significant into it.</para>
  10.425  
  10.426 -    <para>Most commands that print output of some kind will print more
  10.427 +    <para id="x_37">Most commands that print output of some kind will print more
  10.428        output when passed a <option role="hg-opt-global">-v</option>
  10.429        (or <option role="hg-opt-global">--verbose</option>) option, and
  10.430        less when passed <option role="hg-opt-global">-q</option> (or
  10.431 @@ -410,11 +408,11 @@
  10.432    <sect1>
  10.433      <title>Making and reviewing changes</title>
  10.434  
  10.435 -    <para>Now that we have a grasp of viewing history in Mercurial,
  10.436 +    <para id="x_38">Now that we have a grasp of viewing history in Mercurial,
  10.437        let's take a look at making some changes and examining
  10.438        them.</para>
  10.439  
  10.440 -    <para>The first thing we'll do is isolate our experiment in a
  10.441 +    <para id="x_39">The first thing we'll do is isolate our experiment in a
  10.442        repository of its own.  We use the <command role="hg-cmd">hg
  10.443  	clone</command> command, but we don't need to clone a copy of
  10.444        the remote repository.  Since we already have a copy of it
  10.445 @@ -424,7 +422,7 @@
  10.446  
  10.447      &interaction.tour.reclone;
  10.448  
  10.449 -    <para>As an aside, it's often good practice to keep a
  10.450 +    <para id="x_3a">As an aside, it's often good practice to keep a
  10.451        <quote>pristine</quote> copy of a remote repository around,
  10.452        which you can then make temporary clones of to create sandboxes
  10.453        for each task you want to work on.  This lets you work on
  10.454 @@ -433,7 +431,7 @@
  10.455        local clones are so cheap, there's almost no overhead to cloning
  10.456        and destroying repositories whenever you want.</para>
  10.457  
  10.458 -    <para>In our <filename class="directory">my-hello</filename>
  10.459 +    <para id="x_3b">In our <filename class="directory">my-hello</filename>
  10.460        repository, we have a file <filename>hello.c</filename> that
  10.461        contains the classic <quote>hello, world</quote> program. Let's
  10.462        use the ancient and venerable <command>sed</command> command to
  10.463 @@ -446,20 +444,20 @@
  10.464  
  10.465      &interaction.tour.sed;
  10.466  
  10.467 -    <para>Mercurial's <command role="hg-cmd">hg status</command>
  10.468 +    <para id="x_3c">Mercurial's <command role="hg-cmd">hg status</command>
  10.469        command will tell us what Mercurial knows about the files in the
  10.470        repository.</para>
  10.471  
  10.472      &interaction.tour.status;
  10.473  
  10.474 -    <para>The <command role="hg-cmd">hg status</command> command
  10.475 +    <para id="x_3d">The <command role="hg-cmd">hg status</command> command
  10.476        prints no output for some files, but a line starting with
  10.477        <quote><literal>M</literal></quote> for
  10.478        <filename>hello.c</filename>.  Unless you tell it to, <command
  10.479  	role="hg-cmd">hg status</command> will not print any output
  10.480        for files that have not been modified.</para>
  10.481  
  10.482 -    <para>The <quote><literal>M</literal></quote> indicates that
  10.483 +    <para id="x_3e">The <quote><literal>M</literal></quote> indicates that
  10.484        Mercurial has noticed that we modified
  10.485        <filename>hello.c</filename>.  We didn't need to
  10.486        <emphasis>inform</emphasis> Mercurial that we were going to
  10.487 @@ -467,7 +465,7 @@
  10.488        file after we were done; it was able to figure this out
  10.489        itself.</para>
  10.490  
  10.491 -    <para>It's a little bit helpful to know that we've modified
  10.492 +    <para id="x_3f">It's a little bit helpful to know that we've modified
  10.493        <filename>hello.c</filename>, but we might prefer to know
  10.494        exactly <emphasis>what</emphasis> changes we've made to it.  To
  10.495        do this, we use the <command role="hg-cmd">hg diff</command>
  10.496 @@ -479,14 +477,14 @@
  10.497    <sect1>
  10.498      <title>Recording changes in a new changeset</title>
  10.499  
  10.500 -    <para>We can modify files, build and test our changes, and use
  10.501 +    <para id="x_40">We can modify files, build and test our changes, and use
  10.502        <command role="hg-cmd">hg status</command> and <command
  10.503  	role="hg-cmd">hg diff</command> to review our changes, until
  10.504        we're satisfied with what we've done and arrive at a natural
  10.505        stopping point where we want to record our work in a new
  10.506        changeset.</para>
  10.507  
  10.508 -    <para>The <command role="hg-cmd">hg commit</command> command lets
  10.509 +    <para id="x_41">The <command role="hg-cmd">hg commit</command> command lets
  10.510        us create a new changeset; we'll usually refer to this as
  10.511        <quote>making a commit</quote> or
  10.512        <quote>committing</quote>.</para>
  10.513 @@ -494,7 +492,7 @@
  10.514      <sect2>
  10.515        <title>Setting up a username</title>
  10.516  
  10.517 -      <para>When you try to run <command role="hg-cmd">hg
  10.518 +      <para id="x_42">When you try to run <command role="hg-cmd">hg
  10.519  	  commit</command> for the first time, it is not guaranteed to
  10.520  	succeed.  Mercurial records your name and address with each
  10.521  	change that you commit, so that you and others will later be
  10.522 @@ -503,36 +501,37 @@
  10.523  	change with.  It will attempt each of the following methods,
  10.524  	in order:</para>
  10.525        <orderedlist>
  10.526 -	<listitem><para>If you specify a <option
  10.527 +	<listitem><para id="x_43">If you specify a <option
  10.528  	      role="hg-opt-commit">-u</option> option to the <command
  10.529  	      role="hg-cmd">hg commit</command> command on the command
  10.530  	    line, followed by a username, this is always given the
  10.531  	    highest precedence.</para></listitem>
  10.532 -	<listitem><para>If you have set the <envar>HGUSER</envar>
  10.533 +	<listitem><para id="x_44">If you have set the <envar>HGUSER</envar>
  10.534  	    environment variable, this is checked
  10.535  	    next.</para></listitem>
  10.536 -	<listitem><para>If you create a file in your home directory
  10.537 -	    called <filename role="special">.hgrc</filename>, with a
  10.538 -	    <envar role="rc-item-ui">username</envar> entry, that will
  10.539 -	    be used next.  To see what the contents of this file
  10.540 -	    should look like, refer to section <xref
  10.541 -	      linkend="sec.tour-basic.username"/>
  10.542 +	<listitem><para id="x_45">If you create a file in your home
  10.543 +	    directory called <filename
  10.544 +	      role="special">.hgrc</filename>, with a <envar
  10.545 +	      role="rc-item-ui">username</envar> entry, that will be
  10.546 +	    used next.  To see what the contents of this file should
  10.547 +	    look like, refer to <xref
  10.548 +	      linkend="sec:tour-basic:username"/>
  10.549  	    below.</para></listitem>
  10.550 -	<listitem><para>If you have set the <envar>EMAIL</envar>
  10.551 +	<listitem><para id="x_46">If you have set the <envar>EMAIL</envar>
  10.552  	    environment variable, this will be used
  10.553  	    next.</para></listitem>
  10.554 -	<listitem><para>Mercurial will query your system to find out
  10.555 +	<listitem><para id="x_47">Mercurial will query your system to find out
  10.556  	    your local user name and host name, and construct a
  10.557  	    username from these components. Since this often results
  10.558  	    in a username that is not very useful, it will print a
  10.559  	    warning if it has to do
  10.560  	    this.</para></listitem>
  10.561        </orderedlist>
  10.562 -      <para>If all of these mechanisms fail, Mercurial will
  10.563 +      <para id="x_48">If all of these mechanisms fail, Mercurial will
  10.564  	  fail, printing an error message.  In this case, it will not
  10.565  	  let you commit until you set up a
  10.566  	  username.</para>
  10.567 -      <para>You should think of the <envar>HGUSER</envar> environment
  10.568 +      <para id="x_49">You should think of the <envar>HGUSER</envar> environment
  10.569  	variable and the <option role="hg-opt-commit">-u</option>
  10.570  	option to the <command role="hg-cmd">hg commit</command>
  10.571  	command as ways to <emphasis>override</emphasis> Mercurial's
  10.572 @@ -540,10 +539,10 @@
  10.573  	and most robust way to set a username for yourself is by
  10.574  	creating a <filename role="special">.hgrc</filename> file; see
  10.575  	below for details.</para>
  10.576 -      <sect3 id="sec.tour-basic.username">
  10.577 +      <sect3 id="sec:tour-basic:username">
  10.578  	<title>Creating a Mercurial configuration file</title>
  10.579  
  10.580 -	<para>To set a user name, use your favourite editor
  10.581 +	<para id="x_4a">To set a user name, use your favourite editor
  10.582  	    to create a file called <filename
  10.583  	      role="special">.hgrc</filename> in your home directory.
  10.584  	    Mercurial will use this file to look up your personalised
  10.585 @@ -555,7 +554,7 @@
  10.586  username = Firstname Lastname
  10.587  &lt;email.address@domain.net&gt;</programlisting>
  10.588  
  10.589 -	<para>The <quote><literal>[ui]</literal></quote> line begins a
  10.590 +	<para id="x_4b">The <quote><literal>[ui]</literal></quote> line begins a
  10.591  	  <emphasis>section</emphasis> of the config file, so you can
  10.592  	  read the <quote><literal>username = ...</literal></quote>
  10.593  	  line as meaning <quote>set the value of the
  10.594 @@ -570,14 +569,14 @@
  10.595        <sect3>
  10.596  	<title>Choosing a user name</title>
  10.597  
  10.598 -	<para>You can use any text you like as the value of
  10.599 +	<para id="x_4c">You can use any text you like as the value of
  10.600  	    the <literal>username</literal> config item, since this
  10.601  	    information is for reading by other people, but for
  10.602  	    interpreting by Mercurial.  The convention that most
  10.603  	    people follow is to use their name and email address, as
  10.604  	    in the example above.</para>
  10.605  	<note>
  10.606 -	  <para>Mercurial's built-in web server obfuscates
  10.607 +	  <para id="x_4d">Mercurial's built-in web server obfuscates
  10.608  	      email addresses, to make it more difficult for the email
  10.609  	      harvesting tools that spammers use. This reduces the
  10.610  	      likelihood that you'll start receiving more junk email
  10.611 @@ -589,7 +588,7 @@
  10.612      <sect2>
  10.613        <title>Writing a commit message</title>
  10.614  
  10.615 -      <para>When we commit a change, Mercurial drops us into
  10.616 +      <para id="x_4e">When we commit a change, Mercurial drops us into
  10.617  	  a text editor, to enter a message that will describe the
  10.618  	  modifications we've made in this changeset.  This is called
  10.619  	  the <emphasis>commit message</emphasis>.  It will be a
  10.620 @@ -599,14 +598,14 @@
  10.621  
  10.622         &interaction.tour.commit;
  10.623  
  10.624 -      <para>The editor that the <command role="hg-cmd">hg
  10.625 +      <para id="x_4f">The editor that the <command role="hg-cmd">hg
  10.626  	    commit</command> command drops us into will contain an
  10.627  	  empty line, followed by a number of lines starting with
  10.628  	  <quote><literal>HG:</literal></quote>.</para>
  10.629  
  10.630      <programlisting>XXX fix this XXX</programlisting>
  10.631  
  10.632 -      <para>Mercurial ignores the lines that start with
  10.633 +      <para id="x_50">Mercurial ignores the lines that start with
  10.634  	  <quote><literal>HG:</literal></quote>; it uses them only to
  10.635  	  tell us which files it's recording changes to.  Modifying or
  10.636  	  deleting these lines has no effect.</para>
  10.637 @@ -614,7 +613,7 @@
  10.638      <sect2>
  10.639        <title>Writing a good commit message</title>
  10.640  
  10.641 -      <para>Since <command role="hg-cmd">hg log</command>
  10.642 +      <para id="x_51">Since <command role="hg-cmd">hg log</command>
  10.643  	  only prints the first line of a commit message by default,
  10.644  	  it's best to write a commit message whose first line stands
  10.645  	  alone.  Here's a real example of a commit message that
  10.646 @@ -628,13 +627,13 @@
  10.647  date:        Tue Sep 26 21:37:07 2006 -0700
  10.648  summary:     include buildmeister/commondefs. Add exports.</programlisting>
  10.649  
  10.650 -      <para>As far as the remainder of the contents of the
  10.651 +      <para id="x_52">As far as the remainder of the contents of the
  10.652  	  commit message are concerned, there are no hard-and-fast
  10.653  	  rules.  Mercurial itself doesn't interpret or care about the
  10.654  	  contents of the commit message, though your project may have
  10.655  	  policies that dictate a certain kind of
  10.656  	  formatting.</para>
  10.657 -      <para>My personal preference is for short, but
  10.658 +      <para id="x_53">My personal preference is for short, but
  10.659  	  informative, commit messages that tell me something that I
  10.660  	  can't figure out with a quick glance at the output of
  10.661  	  <command role="hg-cmd">hg log
  10.662 @@ -643,12 +642,12 @@
  10.663      <sect2>
  10.664        <title>Aborting a commit</title>
  10.665  
  10.666 -      <para>If you decide that you don't want to commit
  10.667 +      <para id="x_54">If you decide that you don't want to commit
  10.668  	  while in the middle of editing a commit message, simply exit
  10.669  	  from your editor without saving the file that it's editing.
  10.670  	  This will cause nothing to happen to either the repository
  10.671  	  or the working directory.</para>
  10.672 -      <para>If we run the <command role="hg-cmd">hg
  10.673 +      <para id="x_55">If we run the <command role="hg-cmd">hg
  10.674  	    commit</command> command without any arguments, it records
  10.675  	  all of the changes we've made, as reported by <command
  10.676  	    role="hg-cmd">hg status</command> and <command
  10.677 @@ -657,7 +656,7 @@
  10.678      <sect2>
  10.679        <title>Admiring our new handiwork</title>
  10.680  
  10.681 -      <para>Once we've finished the commit, we can use the
  10.682 +      <para id="x_56">Once we've finished the commit, we can use the
  10.683  	  <command role="hg-cmd">hg tip</command> command to display
  10.684  	  the changeset we just created.  This command produces output
  10.685  	  that is identical to <command role="hg-cmd">hg
  10.686 @@ -666,7 +665,7 @@
  10.687  
  10.688        &interaction.tour.tip;
  10.689  
  10.690 -      <para>We refer to
  10.691 +      <para id="x_57">We refer to
  10.692  	  the newest revision in the repository as the tip revision,
  10.693  	  or simply the tip.</para>
  10.694      </sect2>
  10.695 @@ -675,16 +674,16 @@
  10.696    <sect1>
  10.697      <title>Sharing changes</title>
  10.698  
  10.699 -    <para>We mentioned earlier that repositories in
  10.700 +    <para id="x_58">We mentioned earlier that repositories in
  10.701  	Mercurial are self-contained.  This means that the changeset
  10.702  	we just created exists only in our <filename
  10.703  	  class="directory">my-hello</filename> repository.  Let's
  10.704  	look at a few ways that we can propagate this change into
  10.705  	other repositories.</para>
  10.706  
  10.707 -    <sect2 id="sec.tour.pull">
  10.708 +    <sect2 id="sec:tour:pull">
  10.709        <title>Pulling changes from another repository</title>
  10.710 -      <para>To get started, let's clone our original
  10.711 +      <para id="x_59">To get started, let's clone our original
  10.712  	  <filename class="directory">hello</filename> repository,
  10.713  	  which does not contain the change we just committed.  We'll
  10.714  	  call our temporary repository <filename
  10.715 @@ -692,7 +691,7 @@
  10.716  
  10.717        &interaction.tour.clone-pull;
  10.718  
  10.719 -      <para>We'll use the <command role="hg-cmd">hg
  10.720 +      <para id="x_5a">We'll use the <command role="hg-cmd">hg
  10.721  	    pull</command> command to bring changes from <filename
  10.722  	    class="directory">my-hello</filename> into <filename
  10.723  	    class="directory">hello-pull</filename>.  However, blindly
  10.724 @@ -705,21 +704,21 @@
  10.725  
  10.726        &interaction.tour.incoming;
  10.727  
  10.728 -      <para>(Of course, someone could
  10.729 +      <para id="x_5b">(Of course, someone could
  10.730  	  cause more changesets to appear in the repository that we
  10.731  	  ran <command role="hg-cmd">hg incoming</command> in, before
  10.732  	  we get a chance to <command role="hg-cmd">hg pull</command>
  10.733  	  the changes, so that we could end up pulling changes that we
  10.734  	  didn't expect.)</para>
  10.735  
  10.736 -      <para>Bringing changes into a repository is a simple
  10.737 +      <para id="x_5c">Bringing changes into a repository is a simple
  10.738  	  matter of running the <command role="hg-cmd">hg
  10.739  	    pull</command> command, and telling it which repository to
  10.740  	  pull from.</para>
  10.741  
  10.742        &interaction.tour.pull;
  10.743  
  10.744 -      <para>As you can see
  10.745 +      <para id="x_5d">As you can see
  10.746  	  from the before-and-after output of <command
  10.747  	    role="hg-cmd">hg tip</command>, we have successfully
  10.748  	  pulled changes into our repository.  There remains one step
  10.749 @@ -729,19 +728,19 @@
  10.750      <sect2>
  10.751        <title>Updating the working directory</title>
  10.752  
  10.753 -      <para>We have so far glossed over the relationship between a
  10.754 -	repository and its working directory.  The <command
  10.755 +      <para id="x_5e">We have so far glossed over the relationship
  10.756 +	between a repository and its working directory.  The <command
  10.757  	  role="hg-cmd">hg pull</command> command that we ran in
  10.758 -	section <xref linkend="sec.tour.pull"/> brought changes
  10.759 -	into the repository, but if we check, there's no sign of those
  10.760 -	changes in the working directory.  This is because <command
  10.761 +	<xref linkend="sec:tour:pull"/> brought changes into the
  10.762 +	repository, but if we check, there's no sign of those changes
  10.763 +	in the working directory.  This is because <command
  10.764  	  role="hg-cmd">hg pull</command> does not (by default) touch
  10.765  	the working directory.  Instead, we use the <command
  10.766  	  role="hg-cmd">hg update</command> command to do this.</para>
  10.767  
  10.768        &interaction.tour.update;
  10.769  
  10.770 -      <para>It might seem a bit strange that <command role="hg-cmd">hg
  10.771 +      <para id="x_5f">It might seem a bit strange that <command role="hg-cmd">hg
  10.772  	  pull</command> doesn't update the working directory
  10.773  	automatically.  There's actually a good reason for this: you
  10.774  	can use <command role="hg-cmd">hg update</command> to update
  10.775 @@ -752,29 +751,28 @@
  10.776  	  role="hg-cmd">hg pull</command> which automatically updated
  10.777  	the working directory to a new revision, you might not be
  10.778  	terribly happy.</para>
  10.779 -      <para>However, since pull-then-update is such a common thing to
  10.780 +      <para id="x_60">However, since pull-then-update is such a common thing to
  10.781  	do, Mercurial lets you combine the two by passing the <option
  10.782  	  role="hg-opt-pull">-u</option> option to <command
  10.783  	  role="hg-cmd">hg pull</command>.</para>
  10.784  
  10.785 -      <para>If you look back at the output of <command
  10.786 -	  role="hg-cmd">hg pull</command> in section <xref
  10.787 -	    linkend="sec.tour.pull"/> when we ran it without <option
  10.788 +      <para id="x_61">If you look back at the output of <command
  10.789 +	  role="hg-cmd">hg pull</command> in <xref
  10.790 +	    linkend="sec:tour:pull"/> when we ran it without <option
  10.791  	  role="hg-opt-pull">-u</option>, you can see that it printed
  10.792  	a helpful reminder that we'd have to take an explicit step to
  10.793  	update the working directory:</para>
  10.794  
  10.795        <!-- &interaction.xxx.fixme; -->
  10.796  
  10.797 -      <para>To find out what revision the working directory is at, use
  10.798 +      <para id="x_62">To find out what revision the working directory is at, use
  10.799  	the <command role="hg-cmd">hg parents</command>
  10.800  	command.</para>
  10.801  
  10.802        &interaction.tour.parents;
  10.803  
  10.804 -      <para>If you look back at figure <xref
  10.805 -	   endterm="fig.tour-basic.history.caption" 
  10.806 -	   linkend="fig.tour-basic.history"/>,
  10.807 +      <para id="x_63">If you look back at <xref
  10.808 +	  linkend="fig:tour-basic:history"/>,
  10.809  	you'll see arrows connecting each changeset.  The node that
  10.810  	the arrow leads <emphasis>from</emphasis> in each case is a
  10.811  	parent, and the node that the arrow leads
  10.812 @@ -782,14 +780,14 @@
  10.813  	has a parent in just the same way; this is the changeset that
  10.814  	the working directory currently contains.</para>
  10.815  
  10.816 -      <para>To update the working directory to a particular revision,
  10.817 +      <para id="x_64">To update the working directory to a particular revision,
  10.818  
  10.819  	give a revision number or changeset ID to the <command
  10.820  	  role="hg-cmd">hg update</command> command.</para>
  10.821  
  10.822        &interaction.tour.older;
  10.823  
  10.824 -      <para>If you omit an explicit revision, <command
  10.825 +      <para id="x_65">If you omit an explicit revision, <command
  10.826  	  role="hg-cmd">hg update</command> will update to the tip
  10.827  	revision, as shown by the second call to <command
  10.828  	  role="hg-cmd">hg update</command> in the example
  10.829 @@ -799,7 +797,7 @@
  10.830      <sect2>
  10.831        <title>Pushing changes to another repository</title>
  10.832  
  10.833 -      <para>Mercurial lets us push changes to another
  10.834 +      <para id="x_66">Mercurial lets us push changes to another
  10.835  	  repository, from the repository we're currently visiting.
  10.836  	  As with the example of <command role="hg-cmd">hg
  10.837  	    pull</command> above, we'll create a temporary repository
  10.838 @@ -807,19 +805,19 @@
  10.839  
  10.840        &interaction.tour.clone-push;
  10.841  
  10.842 -      <para>The <command role="hg-cmd">hg outgoing</command> command
  10.843 +      <para id="x_67">The <command role="hg-cmd">hg outgoing</command> command
  10.844  	  tells us what changes would be pushed into another
  10.845  	  repository.</para>
  10.846  
  10.847        &interaction.tour.outgoing;
  10.848  
  10.849 -      <para>And the
  10.850 +      <para id="x_68">And the
  10.851  	  <command role="hg-cmd">hg push</command> command does the
  10.852  	  actual push.</para>
  10.853  
  10.854        &interaction.tour.push;
  10.855  
  10.856 -      <para>As with
  10.857 +      <para id="x_69">As with
  10.858  	  <command role="hg-cmd">hg pull</command>, the <command
  10.859  	    role="hg-cmd">hg push</command> command does not update
  10.860  	  the working directory in the repository that it's pushing
  10.861 @@ -828,7 +826,7 @@
  10.862  	  does not provide a <literal>-u</literal> option that updates
  10.863  	  the other repository's working directory.)</para>
  10.864  
  10.865 -      <para>What happens if we try to pull or push changes
  10.866 +      <para id="x_6a">What happens if we try to pull or push changes
  10.867  	  and the receiving repository already has those changes?
  10.868  	  Nothing too exciting.</para>
  10.869  
  10.870 @@ -837,7 +835,7 @@
  10.871      <sect2>
  10.872        <title>Sharing changes over a network</title>
  10.873  
  10.874 -      <para>The commands we have covered in the previous few
  10.875 +      <para id="x_6b">The commands we have covered in the previous few
  10.876  	  sections are not limited to working with local repositories.
  10.877  	  Each works in exactly the same fashion over a network
  10.878  	  connection; simply pass in a URL instead of a local
  10.879 @@ -845,7 +843,7 @@
  10.880  	
  10.881        &interaction.tour.outgoing.net;
  10.882  
  10.883 -      <para>In this example, we
  10.884 +      <para id="x_6c">In this example, we
  10.885  	  can see what changes we could push to the remote repository,
  10.886  	  but the repository is understandably not set up to let
  10.887  	  anonymous users push to it.</para>
    11.1 --- a/en/ch02-tour-merge.xml	Fri Mar 20 17:17:55 2009 +0800
    11.2 +++ b/en/ch02-tour-merge.xml	Mon Mar 30 16:23:33 2009 +0800
    11.3 @@ -1,10 +1,10 @@
    11.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    11.5  
    11.6 -<chapter id="chap.tour-merge">
    11.7 +<chapter id="chap:tour-merge">
    11.8    <?dbhtml filename="a-tour-of-mercurial-merging-work.html"?>
    11.9    <title>A tour of Mercurial: merging work</title>
   11.10  
   11.11 -  <para>We've now covered cloning a repository, making changes in a
   11.12 +  <para id="x_338">We've now covered cloning a repository, making changes in a
   11.13      repository, and pulling or pushing changes from one repository
   11.14      into another.  Our next step is <emphasis>merging</emphasis>
   11.15      changes from separate repositories.</para>
   11.16 @@ -12,86 +12,85 @@
   11.17    <sect1>
   11.18      <title>Merging streams of work</title>
   11.19  
   11.20 -    <para>Merging is a fundamental part of working with a distributed
   11.21 +    <para id="x_339">Merging is a fundamental part of working with a distributed
   11.22        revision control tool.</para>
   11.23      <itemizedlist>
   11.24 -      <listitem><para>Alice and Bob each have a personal copy of a
   11.25 +      <listitem><para id="x_33a">Alice and Bob each have a personal copy of a
   11.26  	  repository for a project they're collaborating on.  Alice
   11.27  	  fixes a bug in her repository; Bob adds a new feature in
   11.28  	  his.  They want the shared repository to contain both the
   11.29  	  bug fix and the new feature.</para>
   11.30        </listitem>
   11.31 -      <listitem><para>I frequently work on several different tasks for
   11.32 +      <listitem><para id="x_33b">I frequently work on several different tasks for
   11.33  	  a single project at once, each safely isolated in its own
   11.34  	  repository. Working this way means that I often need to
   11.35  	  merge one piece of my own work with another.</para>
   11.36        </listitem></itemizedlist>
   11.37  
   11.38 -    <para>Because merging is such a common thing to need to do,
   11.39 +    <para id="x_33c">Because merging is such a common thing to need to do,
   11.40        Mercurial makes it easy.  Let's walk through the process.  We'll
   11.41        begin by cloning yet another repository (see how often they
   11.42        spring up?) and making a change in it.</para>
   11.43  
   11.44      &interaction.tour.merge.clone;
   11.45  
   11.46 -    <para>We should now have two copies of
   11.47 +    <para id="x_33d">We should now have two copies of
   11.48        <filename>hello.c</filename> with different contents.  The
   11.49        histories of the two repositories have also diverged, as
   11.50 -      illustrated in figure <xref endterm="fig.tour-merge.sep-repos.caption"
   11.51 -	linkend="fig.tour-merge.sep-repos"/>.</para>
   11.52 +      illustrated in <xref
   11.53 +	linkend="fig:tour-merge:sep-repos"/>.</para>
   11.54  
   11.55      &interaction.tour.merge.cat;
   11.56  
   11.57 -    <informalfigure id="fig.tour-merge.sep-repos">
   11.58 +    <figure id="fig:tour-merge:sep-repos">
   11.59 +      <title>Divergent recent histories of the <filename
   11.60 +	  class="directory">my-hello</filename> and <filename
   11.61 +	  class="directory">my-new-hello</filename>
   11.62 +	repositories</title>
   11.63        <mediaobject>
   11.64 -	<imageobject><imagedata fileref="images/tour-merge-sep-repos.png"/></imageobject>
   11.65 +	<imageobject><imagedata fileref="figs/tour-merge-sep-repos.png"/></imageobject>
   11.66  	<textobject><phrase>XXX add text</phrase></textobject>
   11.67 -	<caption><para id="fig.tour-merge.sep-repos.caption">Divergent recent
   11.68 -	  histories of the <filename
   11.69 -	      class="directory">my-hello</filename> and <filename
   11.70 -	      class="directory">my-new-hello</filename>
   11.71 -	    repositories</para></caption>
   11.72        </mediaobject>
   11.73 -    </informalfigure>
   11.74 -
   11.75 -    <para>We already know that pulling changes from our <filename
   11.76 +    </figure>
   11.77 +
   11.78 +    <para id="x_33f">We already know that pulling changes from our <filename
   11.79  	class="directory">my-hello</filename> repository will have no
   11.80        effect on the working directory.</para>
   11.81  
   11.82      &interaction.tour.merge.pull;
   11.83  
   11.84 -    <para>However, the <command role="hg-cmd">hg pull</command>
   11.85 +    <para id="x_340">However, the <command role="hg-cmd">hg pull</command>
   11.86        command says something about <quote>heads</quote>.</para>
   11.87  
   11.88      <sect2>
   11.89        <title>Head changesets</title>
   11.90  
   11.91 -      <para>A head is a change that has no descendants, or children,
   11.92 +      <para id="x_341">A head is a change that has no descendants, or children,
   11.93  	as they're also known.  The tip revision is thus a head,
   11.94  	because the newest revision in a repository doesn't have any
   11.95  	children, but a repository can contain more than one
   11.96  	head.</para>
   11.97  
   11.98 -      <informalfigure id="fig.tour-merge.pull">
   11.99 +      <figure id="fig:tour-merge:pull">
  11.100 +	<title>Repository contents after pulling from <filename
  11.101 +	    class="directory">my-hello</filename> into <filename
  11.102 +	    class="directory">my-new-hello</filename></title>
  11.103  	<mediaobject>
  11.104 -	  <imageobject><imagedata fileref="images/tour-merge-pull.png"/></imageobject>
  11.105 +	  <imageobject>
  11.106 +	    <imagedata fileref="figs/tour-merge-pull.png"/>
  11.107 +	  </imageobject>
  11.108  	  <textobject><phrase>XXX add text</phrase></textobject>
  11.109 -	  <caption><para id="fig.tour-merge.pull.caption">Repository contents after
  11.110 -	    pulling from <filename class="directory">my-hello</filename> into
  11.111 -	    <filename class="directory">my-new-hello</filename></para></caption>
  11.112  	</mediaobject>
  11.113 -      </informalfigure>
  11.114 -
  11.115 -      <para>In figure <xref endterm="fig.tour-merge.pull.caption"
  11.116 -        linkend="fig.tour-merge.pull"/>, you can
  11.117 +      </figure>
  11.118 +
  11.119 +      <para id="x_343">In <xref linkend="fig:tour-merge:pull"/>, you can
  11.120  	see the effect of the pull from <filename
  11.121  	  class="directory">my-hello</filename> into <filename
  11.122  	  class="directory">my-new-hello</filename>.  The history that
  11.123  	was already present in <filename
  11.124  	  class="directory">my-new-hello</filename> is untouched, but
  11.125 -	a new revision has been added.  By referring to figure <xref
  11.126 -	  endterm="fig.tour-merge.sep-repos.caption" 
  11.127 -	  linkend="fig.tour-merge.sep-repos"/>, we can see that the
  11.128 +	a new revision has been added.  By referring to <xref
  11.129 +	  linkend="fig:tour-merge:sep-repos"/>, we can see that the
  11.130  	<emphasis>changeset ID</emphasis> remains the same in the new
  11.131  	repository, but the <emphasis>revision number</emphasis> has
  11.132  	changed.  (This, incidentally, is a fine example of why it's
  11.133 @@ -105,13 +104,13 @@
  11.134      <sect2>
  11.135        <title>Performing the merge</title>
  11.136  
  11.137 -      <para>What happens if we try to use the normal <command
  11.138 +      <para id="x_344">What happens if we try to use the normal <command
  11.139  	  role="hg-cmd">hg update</command> command to update to the
  11.140  	new tip?</para>
  11.141  
  11.142        &interaction.tour.merge.update;
  11.143  
  11.144 -      <para>Mercurial is telling us that the <command role="hg-cmd">hg
  11.145 +      <para id="x_345">Mercurial is telling us that the <command role="hg-cmd">hg
  11.146  	  update</command> command won't do a merge; it won't update
  11.147  	the working directory when it thinks we might be wanting to do
  11.148  	a merge, unless we force it to do so.  Instead, we use the
  11.149 @@ -120,16 +119,18 @@
  11.150  
  11.151        &interaction.tour.merge.merge;
  11.152  
  11.153 -      <informalfigure id="fig.tour-merge.merge">
  11.154 +      <figure id="fig:tour-merge:merge">
  11.155 +	<title>Working directory and repository during merge, and
  11.156 +	  following commit</title>
  11.157  	<mediaobject>
  11.158 -	  <imageobject><imagedata fileref="images/tour-merge-merge.png"/></imageobject>
  11.159 +	  <imageobject>
  11.160 +	    <imagedata fileref="figs/tour-merge-merge.png"/>
  11.161 +	  </imageobject>
  11.162  	  <textobject><phrase>XXX add text</phrase></textobject>
  11.163 -	  <caption><para id="fig.tour-merge.merge.caption">Working directory and
  11.164 -	      repository during merge, and following commit</para></caption>
  11.165  	</mediaobject>
  11.166 -      </informalfigure>
  11.167 -
  11.168 -      <para>This updates the working directory so that it contains
  11.169 +      </figure>
  11.170 +
  11.171 +      <para id="x_347">This updates the working directory so that it contains
  11.172  	changes from <emphasis>both</emphasis> heads, which is
  11.173  	reflected in both the output of <command role="hg-cmd">hg
  11.174  	  parents</command> and the contents of
  11.175 @@ -141,22 +142,22 @@
  11.176      <sect2>
  11.177        <title>Committing the results of the merge</title>
  11.178  
  11.179 -      <para>Whenever we've done a merge, <command role="hg-cmd">hg
  11.180 +      <para id="x_348">Whenever we've done a merge, <command role="hg-cmd">hg
  11.181  	  parents</command> will display two parents until we <command
  11.182  	  role="hg-cmd">hg commit</command> the results of the
  11.183  	  merge.</para>
  11.184  
  11.185  	&interaction.tour.merge.commit;
  11.186  
  11.187 -      <para>We now have a new tip revision; notice that it has
  11.188 +      <para id="x_349">We now have a new tip revision; notice that it has
  11.189  	<emphasis>both</emphasis> of our former heads as its parents.
  11.190  	These are the same revisions that were previously displayed by
  11.191  	<command role="hg-cmd">hg parents</command>.</para>
  11.192  
  11.193        &interaction.tour.merge.tip;
  11.194  
  11.195 -      <para>In figure <xref endterm="fig.tour-merge.merge.caption"
  11.196 -	  linkend="fig.tour-merge.merge"/>, you can see a
  11.197 +      <para id="x_34a">In <xref
  11.198 +	  linkend="fig:tour-merge:merge"/>, you can see a
  11.199  	representation of what happens to the working directory during
  11.200  	the merge, and how this affects the repository when the commit
  11.201  	happens.  During the merge, the working directory has two
  11.202 @@ -168,32 +169,29 @@
  11.203    <sect1>
  11.204      <title>Merging conflicting changes</title>
  11.205  
  11.206 -    <para>Most merges are simple affairs, but sometimes you'll find
  11.207 +    <para id="x_34b">Most merges are simple affairs, but sometimes you'll find
  11.208        yourself merging changes where each modifies the same portions
  11.209        of the same files.  Unless both modifications are identical,
  11.210        this results in a <emphasis>conflict</emphasis>, where you have
  11.211        to decide how to reconcile the different changes into something
  11.212        coherent.</para>
  11.213  
  11.214 -    <informalfigure id="fig.tour-merge.conflict">
  11.215 +    <figure id="fig:tour-merge:conflict">
  11.216 +      <title>Conflicting changes to a document</title>
  11.217        <mediaobject>
  11.218 -        <imageobject><imagedata fileref="images/tour-merge-conflict.png"/>
  11.219 -        </imageobject>
  11.220 -        <textobject><phrase>XXX add text</phrase></textobject>
  11.221 -        <caption><para id="fig.tour-merge.conflict.caption">Conflicting
  11.222 -          changes to a document</para></caption>
  11.223 +	<imageobject><imagedata fileref="figs/tour-merge-conflict.png"/></imageobject>
  11.224 +	<textobject><phrase>XXX add text</phrase></textobject>
  11.225        </mediaobject>
  11.226 -    </informalfigure>
  11.227 -
  11.228 -    <para>Figure <xref endterm="fig.tour-merge.conflict.caption"
  11.229 -      linkend="fig.tour-merge.conflict"/> illustrates
  11.230 +    </figure>
  11.231 +
  11.232 +    <para id="x_34d"><xref linkend="fig:tour-merge:conflict"/> illustrates
  11.233        an instance of two conflicting changes to a document.  We
  11.234        started with a single version of the file; then we made some
  11.235        changes; while someone else made different changes to the same
  11.236        text.  Our task in resolving the conflicting changes is to
  11.237        decide what the file should look like.</para>
  11.238  
  11.239 -    <para>Mercurial doesn't have a built-in facility for handling
  11.240 +    <para id="x_34e">Mercurial doesn't have a built-in facility for handling
  11.241        conflicts. Instead, it runs an external program called
  11.242        <command>hgmerge</command>.  This is a shell script that is
  11.243        bundled with Mercurial; you can change it to behave however you
  11.244 @@ -204,7 +202,7 @@
  11.245        human guidance) or aren't present, the script tries a few
  11.246        different graphical merging tools.</para>
  11.247  
  11.248 -    <para>It's also possible to get Mercurial to run another program
  11.249 +    <para id="x_34f">It's also possible to get Mercurial to run another program
  11.250        or script instead of <command>hgmerge</command>, by setting the
  11.251        <envar>HGMERGE</envar> environment variable to the name of your
  11.252        preferred program.</para>
  11.253 @@ -212,59 +210,59 @@
  11.254      <sect2>
  11.255        <title>Using a graphical merge tool</title>
  11.256  
  11.257 -      <para>My preferred graphical merge tool is
  11.258 +      <para id="x_350">My preferred graphical merge tool is
  11.259  	<command>kdiff3</command>, which I'll use to describe the
  11.260  	features that are common to graphical file merging tools.  You
  11.261  	can see a screenshot of <command>kdiff3</command> in action in
  11.262 -	figure <xref endterm="fig.tour-merge.kdiff3.caption"
  11.263 -	linkend="fig.tour-merge.kdiff3"/>.  The kind of
  11.264 +	<xref linkend="fig:tour-merge:kdiff3"/>.  The kind of
  11.265  	merge it is performing is called a <emphasis>three-way
  11.266  	  merge</emphasis>, because there are three different versions
  11.267  	of the file of interest to us.  The tool thus splits the upper
  11.268  	portion of the window into three panes:</para>
  11.269        <itemizedlist>
  11.270 -	<listitem><para>At the left is the <emphasis>base</emphasis>
  11.271 +	<listitem><para id="x_351">At the left is the <emphasis>base</emphasis>
  11.272  	    version of the file, i.e. the most recent version from
  11.273  	    which the two versions we're trying to merge are
  11.274  	    descended.</para>
  11.275  	</listitem>
  11.276 -	<listitem><para>In the middle is <quote>our</quote> version of
  11.277 +	<listitem><para id="x_352">In the middle is <quote>our</quote> version of
  11.278  	    the file, with the contents that we modified.</para>
  11.279  	</listitem>
  11.280 -	<listitem><para>On the right is <quote>their</quote> version
  11.281 +	<listitem><para id="x_353">On the right is <quote>their</quote> version
  11.282  	    of the file, the one that from the changeset that we're
  11.283  	    trying to merge with.</para>
  11.284  	</listitem></itemizedlist>
  11.285 -      <para>In the pane below these is the current
  11.286 +      <para id="x_354">In the pane below these is the current
  11.287  	<emphasis>result</emphasis> of the merge. Our task is to
  11.288  	replace all of the red text, which indicates unresolved
  11.289  	conflicts, with some sensible merger of the
  11.290  	<quote>ours</quote> and <quote>theirs</quote> versions of the
  11.291  	file.</para>
  11.292  
  11.293 -      <para>All four of these panes are <emphasis>locked
  11.294 +      <para id="x_355">All four of these panes are <emphasis>locked
  11.295  	  together</emphasis>; if we scroll vertically or horizontally
  11.296  	in any of them, the others are updated to display the
  11.297  	corresponding sections of their respective files.</para>
  11.298  
  11.299 -      <informalfigure id="fig.tour-merge.kdiff3">
  11.300 -        <mediaobject>
  11.301 -          <imageobject><imagedata width="100%" fileref="images/kdiff3.png"/>
  11.302 -          </imageobject>
  11.303 -          <textobject><phrase>XXX add text</phrase></textobject>
  11.304 -          <caption><para id="fig.tour-merge.kdiff3.caption">Using
  11.305 -            <command>kdiff3</command> to merge versions of a file</para>
  11.306 -          </caption>
  11.307 -        </mediaobject>
  11.308 -      </informalfigure>
  11.309 -
  11.310 -      <para>For each conflicting portion of the file, we can choose to
  11.311 +      <figure id="fig:tour-merge:kdiff3">
  11.312 +	<title>Using <command>kdiff3</command> to merge versions of a
  11.313 +	  file</title>
  11.314 +	<mediaobject>
  11.315 +	  <imageobject>
  11.316 +	    <imagedata imagedata width="100%" fileref="figs/kdiff3.png"/></imageobject>
  11.317 +	  <textobject>
  11.318 +	    <phrase>XXX add text</phrase>
  11.319 +	  </textobject>
  11.320 +	</mediaobject>
  11.321 +      </figure>
  11.322 +
  11.323 +      <para id="x_357">For each conflicting portion of the file, we can choose to
  11.324  	resolve the conflict using some combination of text from the
  11.325  	base version, ours, or theirs.  We can also manually edit the
  11.326  	merged file at any time, in case we need to make further
  11.327  	modifications.</para>
  11.328  
  11.329 -      <para>There are <emphasis>many</emphasis> file merging tools
  11.330 +      <para id="x_358">There are <emphasis>many</emphasis> file merging tools
  11.331  	available, too many to cover here.  They vary in which
  11.332  	platforms they are available for, and in their particular
  11.333  	strengths and weaknesses.  Most are tuned for merging files
  11.334 @@ -275,20 +273,19 @@
  11.335      <sect2>
  11.336        <title>A worked example</title>
  11.337  
  11.338 -      <para>In this example, we will reproduce the file modification
  11.339 -	history of figure <xref endterm="fig.tour-merge.conflict.caption"
  11.340 -	linkend="fig.tour-merge.conflict"/>
  11.341 +      <para id="x_359">In this example, we will reproduce the file modification
  11.342 +	history of <xref linkend="fig:tour-merge:conflict"/>
  11.343  	above.  Let's begin by creating a repository with a base
  11.344  	version of our document.</para>
  11.345  
  11.346        &interaction.tour-merge-conflict.wife;
  11.347  
  11.348 -      <para>We'll clone the repository and make a change to the
  11.349 +      <para id="x_35a">We'll clone the repository and make a change to the
  11.350  	file.</para>
  11.351  
  11.352        &interaction.tour-merge-conflict.cousin;
  11.353  
  11.354 -      <para>And another clone, to simulate someone else making a
  11.355 +      <para id="x_35b">And another clone, to simulate someone else making a
  11.356  	change to the file. (This hints at the idea that it's not all
  11.357  	that unusual to merge with yourself when you isolate tasks in
  11.358  	separate repositories, and indeed to find and resolve
  11.359 @@ -296,13 +293,13 @@
  11.360  
  11.361        &interaction.tour-merge-conflict.son;
  11.362  
  11.363 -      <para>Having created two
  11.364 +      <para id="x_35c">Having created two
  11.365  	different versions of the file, we'll set up an environment
  11.366  	suitable for running our merge.</para>
  11.367  
  11.368        &interaction.tour-merge-conflict.pull;
  11.369  
  11.370 -      <para>In this example, I won't use Mercurial's normal
  11.371 +      <para id="x_35d">In this example, I won't use Mercurial's normal
  11.372  	<command>hgmerge</command> program to do the merge, because it
  11.373  	would drop my nice automated example-running tool into a
  11.374  	graphical user interface.  Instead, I'll set
  11.375 @@ -312,25 +309,25 @@
  11.376  	example on your computer, don't bother setting
  11.377  	<envar>HGMERGE</envar>.</para>
  11.378  
  11.379 -      <para><emphasis role="bold">XXX FIX THIS
  11.380 +      <para id="x_35e"><emphasis role="bold">XXX FIX THIS
  11.381  	  EXAMPLE.</emphasis></para>
  11.382  
  11.383        &interaction.tour-merge-conflict.merge;
  11.384  
  11.385 -      <para>Because <command>merge</command> can't resolve the
  11.386 +      <para id="x_35f">Because <command>merge</command> can't resolve the
  11.387  	conflicting changes, it leaves <emphasis>merge
  11.388  	  markers</emphasis> inside the file that has conflicts,
  11.389  	indicating which lines have conflicts, and whether they came
  11.390  	from our version of the file or theirs.</para>
  11.391  
  11.392 -      <para>Mercurial can tell from the way <command>merge</command>
  11.393 +      <para id="x_360">Mercurial can tell from the way <command>merge</command>
  11.394  	exits that it wasn't able to merge successfully, so it tells
  11.395  	us what commands we'll need to run if we want to redo the
  11.396  	merging operation.  This could be useful if, for example, we
  11.397  	were running a graphical merge tool and quit because we were
  11.398  	confused or realised we had made a mistake.</para>
  11.399  
  11.400 -      <para>If automatic or manual merges fail, there's nothing to
  11.401 +      <para id="x_361">If automatic or manual merges fail, there's nothing to
  11.402  	prevent us from <quote>fixing up</quote> the affected files
  11.403  	ourselves, and committing the results of our merge:</para>
  11.404  
  11.405 @@ -338,32 +335,32 @@
  11.406  
  11.407      </sect2>
  11.408    </sect1>
  11.409 -  <sect1 id="sec.tour-merge.fetch">
  11.410 +  <sect1 id="sec:tour-merge:fetch">
  11.411      <title>Simplifying the pull-merge-commit sequence</title>
  11.412  
  11.413 -    <para>The process of merging changes as outlined above is
  11.414 +    <para id="x_362">The process of merging changes as outlined above is
  11.415        straightforward, but requires running three commands in
  11.416        sequence.</para>
  11.417      <programlisting>hg pull
  11.418  hg merge
  11.419  hg commit -m 'Merged remote changes'</programlisting>
  11.420 -    <para>In the case of the final commit, you also need to enter a
  11.421 +    <para id="x_363">In the case of the final commit, you also need to enter a
  11.422        commit message, which is almost always going to be a piece of
  11.423        uninteresting <quote>boilerplate</quote> text.</para>
  11.424  
  11.425 -    <para>It would be nice to reduce the number of steps needed, if
  11.426 +    <para id="x_364">It would be nice to reduce the number of steps needed, if
  11.427        this were possible.  Indeed, Mercurial is distributed with an
  11.428        extension called <literal role="hg-ext">fetch</literal> that
  11.429        does just this.</para>
  11.430  
  11.431 -    <para>Mercurial provides a flexible extension mechanism that lets
  11.432 +    <para id="x_365">Mercurial provides a flexible extension mechanism that lets
  11.433        people extend its functionality, while keeping the core of
  11.434        Mercurial small and easy to deal with.  Some extensions add new
  11.435        commands that you can use from the command line, while others
  11.436        work <quote>behind the scenes,</quote> for example adding
  11.437        capabilities to the server.</para>
  11.438  
  11.439 -    <para>The <literal role="hg-ext">fetch</literal> extension adds a
  11.440 +    <para id="x_366">The <literal role="hg-ext">fetch</literal> extension adds a
  11.441        new command called, not surprisingly, <command role="hg-cmd">hg
  11.442  	fetch</command>.  This extension acts as a combination of
  11.443        <command role="hg-cmd">hg pull</command>, <command
  11.444 @@ -376,7 +373,7 @@
  11.445        added, it updates the working directory to the new tip
  11.446        changeset.</para>
  11.447  
  11.448 -    <para>Enabling the <literal role="hg-ext">fetch</literal>
  11.449 +    <para id="x_367">Enabling the <literal role="hg-ext">fetch</literal>
  11.450        extension is easy.  Edit your <filename
  11.451  	role="special">.hgrc</filename>, and either go to the <literal
  11.452  	role="rc-extensions">extensions</literal> section or create an
  11.453 @@ -385,7 +382,7 @@
  11.454  	</literal></quote>.</para>
  11.455      <programlisting>[extensions]
  11.456  fetch =</programlisting>
  11.457 -    <para>(Normally, on the right-hand side of the
  11.458 +    <para id="x_368">(Normally, on the right-hand side of the
  11.459        <quote><literal>=</literal></quote> would appear the location of
  11.460        the extension, but since the <literal
  11.461  	role="hg-ext">fetch</literal> extension is in the standard
    12.1 --- a/en/ch03-concepts.xml	Fri Mar 20 17:17:55 2009 +0800
    12.2 +++ b/en/ch03-concepts.xml	Mon Mar 30 16:23:33 2009 +0800
    12.3 @@ -1,23 +1,23 @@
    12.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    12.5  
    12.6 -<chapter id="chap.concepts">
    12.7 +<chapter id="chap:concepts">
    12.8    <?dbhtml filename="behind-the-scenes.html"?>
    12.9    <title>Behind the scenes</title>
   12.10  
   12.11 -  <para>Unlike many revision control systems, the concepts upon which
   12.12 +  <para id="x_2e8">Unlike many revision control systems, the concepts upon which
   12.13      Mercurial is built are simple enough that it's easy to understand
   12.14      how the software really works.  Knowing this certainly isn't
   12.15      necessary, but I find it useful to have a <quote>mental
   12.16        model</quote> of what's going on.</para>
   12.17  
   12.18 -  <para>This understanding gives me confidence that Mercurial has been
   12.19 +  <para id="x_2e9">This understanding gives me confidence that Mercurial has been
   12.20      carefully designed to be both <emphasis>safe</emphasis> and
   12.21      <emphasis>efficient</emphasis>.  And just as importantly, if it's
   12.22      easy for me to retain a good idea of what the software is doing
   12.23      when I perform a revision control task, I'm less likely to be
   12.24      surprised by its behaviour.</para>
   12.25  
   12.26 -  <para>In this chapter, we'll initially cover the core concepts
   12.27 +  <para id="x_2ea">In this chapter, we'll initially cover the core concepts
   12.28      behind Mercurial's design, then continue to discuss some of the
   12.29      interesting details of its implementation.</para>
   12.30  
   12.31 @@ -27,7 +27,7 @@
   12.32      <sect2>
   12.33        <title>Tracking the history of a single file</title>
   12.34  
   12.35 -      <para>When Mercurial tracks modifications to a file, it stores
   12.36 +      <para id="x_2eb">When Mercurial tracks modifications to a file, it stores
   12.37  	the history of that file in a metadata object called a
   12.38  	<emphasis>filelog</emphasis>.  Each entry in the filelog
   12.39  	contains enough information to reconstruct one revision of the
   12.40 @@ -38,7 +38,7 @@
   12.41  	an index to help Mercurial to find a revision
   12.42  	efficiently.</para>
   12.43  
   12.44 -      <para>A file that is large, or has a lot of history, has its
   12.45 +      <para id="x_2ec">A file that is large, or has a lot of history, has its
   12.46  	filelog stored in separate data
   12.47  	(<quote><literal>.d</literal></quote> suffix) and index
   12.48  	(<quote><literal>.i</literal></quote> suffix) files.  For
   12.49 @@ -46,25 +46,23 @@
   12.50  	are combined in a single <quote><literal>.i</literal></quote>
   12.51  	file.  The correspondence between a file in the working
   12.52  	directory and the filelog that tracks its history in the
   12.53 -	repository is illustrated in figure <xref
   12.54 -	  endterm="fig.concepts.filelog.caption"
   12.55 -	  linkend="fig.concepts.filelog"/>.</para>
   12.56 -
   12.57 -      <informalfigure id="fig.concepts.filelog">
   12.58 -        <mediaobject>
   12.59 -          <imageobject><imagedata fileref="images/filelog.png"/></imageobject>
   12.60 -          <textobject><phrase>XXX add text</phrase></textobject>
   12.61 -          <caption><para id="fig.concepts.filelog.caption">Relationships between
   12.62 -            files in working directory and filelogs in repository</para>
   12.63 -          </caption>
   12.64 -        </mediaobject>
   12.65 -      </informalfigure>
   12.66 +	repository is illustrated in <xref
   12.67 +	  linkend="fig:concepts:filelog"/>.</para>
   12.68 +
   12.69 +      <figure id="fig:concepts:filelog">
   12.70 +	<title>Relationships between files in working directory and
   12.71 +	  filelogs in repository</title>
   12.72 +	<mediaobject>
   12.73 +	  <imageobject><imagedata fileref="figs/filelog.png"/></imageobject>
   12.74 +	  <textobject><phrase>XXX add text</phrase></textobject>
   12.75 +	</mediaobject>
   12.76 +      </figure>
   12.77  
   12.78      </sect2>
   12.79      <sect2>
   12.80        <title>Managing tracked files</title>
   12.81  
   12.82 -      <para>Mercurial uses a structure called a
   12.83 +      <para id="x_2ee">Mercurial uses a structure called a
   12.84  	<emphasis>manifest</emphasis> to collect together information
   12.85  	about the files that it tracks.  Each entry in the manifest
   12.86  	contains information about the files present in a single
   12.87 @@ -76,7 +74,7 @@
   12.88      <sect2>
   12.89        <title>Recording changeset information</title>
   12.90  
   12.91 -      <para>The <emphasis>changelog</emphasis> contains information
   12.92 +      <para id="x_2ef">The <emphasis>changelog</emphasis> contains information
   12.93  	about each changeset.  Each revision records who committed a
   12.94  	change, the changeset comment, other pieces of
   12.95  	changeset-related information, and the revision of the
   12.96 @@ -86,32 +84,30 @@
   12.97      <sect2>
   12.98        <title>Relationships between revisions</title>
   12.99  
  12.100 -      <para>Within a changelog, a manifest, or a filelog, each
  12.101 +      <para id="x_2f0">Within a changelog, a manifest, or a filelog, each
  12.102  	revision stores a pointer to its immediate parent (or to its
  12.103  	two parents, if it's a merge revision).  As I mentioned above,
  12.104  	there are also relationships between revisions
  12.105  	<emphasis>across</emphasis> these structures, and they are
  12.106  	hierarchical in nature.</para>
  12.107  
  12.108 -      <para>For every changeset in a repository, there is exactly one
  12.109 +      <para id="x_2f1">For every changeset in a repository, there is exactly one
  12.110  	revision stored in the changelog.  Each revision of the
  12.111  	changelog contains a pointer to a single revision of the
  12.112  	manifest.  A revision of the manifest stores a pointer to a
  12.113  	single revision of each filelog tracked when that changeset
  12.114 -	was created.  These relationships are illustrated in figure
  12.115 -	<xref endterm="fig.concepts.metadata.caption"
  12.116 -	  linkend="fig.concepts.metadata"/>.</para>
  12.117 -
  12.118 -      <informalfigure id="fig.concepts.metadata">
  12.119 -        <mediaobject>
  12.120 -          <imageobject><imagedata fileref="images/metadata.png"/></imageobject>
  12.121 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.122 -          <caption><para id="fig.concepts.metadata.caption">Metadata
  12.123 -            relationships</para></caption>
  12.124 -        </mediaobject>
  12.125 -      </informalfigure>
  12.126 -
  12.127 -      <para>As the illustration shows, there is
  12.128 +	was created.  These relationships are illustrated in
  12.129 +	<xref linkend="fig:concepts:metadata"/>.</para>
  12.130 +
  12.131 +      <figure id="fig:concepts:metadata">
  12.132 +	<title>Metadata relationships</title>
  12.133 +	<mediaobject>
  12.134 +	  <imageobject><imagedata fileref="figs/metadata.png"/></imageobject>
  12.135 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.136 +	</mediaobject>
  12.137 +      </figure>
  12.138 +
  12.139 +      <para id="x_2f3">As the illustration shows, there is
  12.140  	<emphasis>not</emphasis> a <quote>one to one</quote>
  12.141  	relationship between revisions in the changelog, manifest, or
  12.142  	filelog. If the manifest hasn't changed between two
  12.143 @@ -126,14 +122,14 @@
  12.144    <sect1>
  12.145      <title>Safe, efficient storage</title>
  12.146  
  12.147 -    <para>The underpinnings of changelogs, manifests, and filelogs are
  12.148 +    <para id="x_2f4">The underpinnings of changelogs, manifests, and filelogs are
  12.149        provided by a single structure called the
  12.150        <emphasis>revlog</emphasis>.</para>
  12.151  
  12.152      <sect2>
  12.153        <title>Efficient storage</title>
  12.154  
  12.155 -      <para>The revlog provides efficient storage of revisions using a
  12.156 +      <para id="x_2f5">The revlog provides efficient storage of revisions using a
  12.157  	<emphasis>delta</emphasis> mechanism.  Instead of storing a
  12.158  	complete copy of a file for each revision, it stores the
  12.159  	changes needed to transform an older revision into the new
  12.160 @@ -141,7 +137,7 @@
  12.161  	typically a fraction of a percent of the size of a full copy
  12.162  	of a file.</para>
  12.163  
  12.164 -      <para>Some obsolete revision control systems can only work with
  12.165 +      <para id="x_2f6">Some obsolete revision control systems can only work with
  12.166  	deltas of text files.  They must either store binary files as
  12.167  	complete snapshots or encoded into a text representation, both
  12.168  	of which are wasteful approaches.  Mercurial can efficiently
  12.169 @@ -149,16 +145,16 @@
  12.170  	doesn't need to treat text as special.</para>
  12.171  
  12.172      </sect2>
  12.173 -    <sect2 id="sec.concepts.txn">
  12.174 +    <sect2 id="sec:concepts:txn">
  12.175        <title>Safe operation</title>
  12.176  
  12.177 -      <para>Mercurial only ever <emphasis>appends</emphasis> data to
  12.178 +      <para id="x_2f7">Mercurial only ever <emphasis>appends</emphasis> data to
  12.179  	the end of a revlog file. It never modifies a section of a
  12.180  	file after it has written it.  This is both more robust and
  12.181  	efficient than schemes that need to modify or rewrite
  12.182  	data.</para>
  12.183  
  12.184 -      <para>In addition, Mercurial treats every write as part of a
  12.185 +      <para id="x_2f8">In addition, Mercurial treats every write as part of a
  12.186  	<emphasis>transaction</emphasis> that can span a number of
  12.187  	files.  A transaction is <emphasis>atomic</emphasis>: either
  12.188  	the entire transaction succeeds and its effects are all
  12.189 @@ -168,7 +164,7 @@
  12.190  	writing it, the reader will never see a partially written
  12.191  	result that might confuse it.</para>
  12.192  
  12.193 -      <para>The fact that Mercurial only appends to files makes it
  12.194 +      <para id="x_2f9">The fact that Mercurial only appends to files makes it
  12.195  	easier to provide this transactional guarantee.  The easier it
  12.196  	is to do stuff like this, the more confident you should be
  12.197  	that it's done correctly.</para>
  12.198 @@ -177,7 +173,7 @@
  12.199      <sect2>
  12.200        <title>Fast retrieval</title>
  12.201  
  12.202 -      <para>Mercurial cleverly avoids a pitfall common to all earlier
  12.203 +      <para id="x_2fa">Mercurial cleverly avoids a pitfall common to all earlier
  12.204  	revision control systems: the problem of <emphasis>inefficient
  12.205  	  retrieval</emphasis>. Most revision control systems store
  12.206  	the contents of a revision as an incremental series of
  12.207 @@ -188,16 +184,15 @@
  12.208  	file accumulates, the more revisions you must read, hence the
  12.209  	longer it takes to reconstruct a particular revision.</para>
  12.210  
  12.211 -      <informalfigure id="fig.concepts.snapshot">
  12.212 -        <mediaobject>
  12.213 -          <imageobject><imagedata fileref="images/snapshot.png"/></imageobject>
  12.214 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.215 -          <caption><para id="fig.concepts.snapshot.caption">Snapshot of
  12.216 -            a revlog, with incremental deltas</para></caption>
  12.217 -        </mediaobject>
  12.218 -      </informalfigure>
  12.219 -
  12.220 -      <para>The innovation that Mercurial applies to this problem is
  12.221 +      <figure id="fig:concepts:snapshot">
  12.222 +	<title>Snapshot of a revlog, with incremental deltas</title>
  12.223 +	<mediaobject>
  12.224 +	  <imageobject><imagedata fileref="figs/snapshot.png"/></imageobject>
  12.225 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.226 +	</mediaobject>
  12.227 +      </figure>
  12.228 +
  12.229 +      <para id="x_2fc">The innovation that Mercurial applies to this problem is
  12.230  	simple but effective.  Once the cumulative amount of delta
  12.231  	information stored since the last snapshot exceeds a fixed
  12.232  	threshold, it stores a new snapshot (compressed, of course),
  12.233 @@ -206,8 +201,7 @@
  12.234  	quickly.  This approach works so well that it has since been
  12.235  	copied by several other revision control systems.</para>
  12.236  
  12.237 -      <para>Figure <xref endterm="fig.concepts.snapshot.caption"
  12.238 -          linkend="fig.concepts.snapshot"/> illustrates
  12.239 +      <para id="x_2fd"><xref linkend="fig:concepts:snapshot"/> illustrates
  12.240  	the idea.  In an entry in a revlog's index file, Mercurial
  12.241  	stores the range of entries from the data file that it must
  12.242  	read to reconstruct a particular revision.</para>
  12.243 @@ -215,7 +209,7 @@
  12.244        <sect3>
  12.245  	<title>Aside: the influence of video compression</title>
  12.246  
  12.247 -	<para>If you're familiar with video compression or have ever
  12.248 +	<para id="x_2fe">If you're familiar with video compression or have ever
  12.249  	  watched a TV feed through a digital cable or satellite
  12.250  	  service, you may know that most video compression schemes
  12.251  	  store each frame of video as a delta against its predecessor
  12.252 @@ -224,7 +218,7 @@
  12.253  	  visual errors accumulate over the course of a number of
  12.254  	  inter-frame deltas.</para>
  12.255  
  12.256 -	<para>Because it's possible for a video stream to <quote>drop
  12.257 +	<para id="x_2ff">Because it's possible for a video stream to <quote>drop
  12.258  	    out</quote> occasionally due to signal glitches, and to
  12.259  	  limit the accumulation of artefacts introduced by the lossy
  12.260  	  compression process, video encoders periodically insert a
  12.261 @@ -240,24 +234,24 @@
  12.262      <sect2>
  12.263        <title>Identification and strong integrity</title>
  12.264  
  12.265 -      <para>Along with delta or snapshot information, a revlog entry
  12.266 +      <para id="x_300">Along with delta or snapshot information, a revlog entry
  12.267  	contains a cryptographic hash of the data that it represents.
  12.268  	This makes it difficult to forge the contents of a revision,
  12.269  	and easy to detect accidental corruption.</para>
  12.270  
  12.271 -      <para>Hashes provide more than a mere check against corruption;
  12.272 +      <para id="x_301">Hashes provide more than a mere check against corruption;
  12.273  	they are used as the identifiers for revisions.  The changeset
  12.274  	identification hashes that you see as an end user are from
  12.275  	revisions of the changelog.  Although filelogs and the
  12.276  	manifest also use hashes, Mercurial only uses these behind the
  12.277  	scenes.</para>
  12.278  
  12.279 -      <para>Mercurial verifies that hashes are correct when it
  12.280 +      <para id="x_302">Mercurial verifies that hashes are correct when it
  12.281  	retrieves file revisions and when it pulls changes from
  12.282  	another repository.  If it encounters an integrity problem, it
  12.283  	will complain and stop whatever it's doing.</para>
  12.284  
  12.285 -      <para>In addition to the effect it has on retrieval efficiency,
  12.286 +      <para id="x_303">In addition to the effect it has on retrieval efficiency,
  12.287  	Mercurial's use of periodic snapshots makes it more robust
  12.288  	against partial data corruption.  If a revlog becomes partly
  12.289  	corrupted due to a hardware error or system bug, it's often
  12.290 @@ -271,7 +265,7 @@
  12.291    <sect1>
  12.292      <title>Revision history, branching, and merging</title>
  12.293  
  12.294 -    <para>Every entry in a Mercurial revlog knows the identity of its
  12.295 +    <para id="x_304">Every entry in a Mercurial revlog knows the identity of its
  12.296        immediate ancestor revision, usually referred to as its
  12.297        <emphasis>parent</emphasis>.  In fact, a revision contains room
  12.298        for not one parent, but two.  Mercurial uses a special hash,
  12.299 @@ -279,14 +273,13 @@
  12.300        <quote>there is no parent here</quote>.  This hash is simply a
  12.301        string of zeroes.</para>
  12.302  
  12.303 -    <para>In figure <xref endterm="fig.concepts.revlog.caption"
  12.304 -        linkend="fig.concepts.revlog"/>, you can see
  12.305 +    <para id="x_305">In <xref linkend="fig:concepts:revlog"/>, you can see
  12.306        an example of the conceptual structure of a revlog.  Filelogs,
  12.307        manifests, and changelogs all have this same structure; they
  12.308        differ only in the kind of data stored in each delta or
  12.309        snapshot.</para>
  12.310  
  12.311 -    <para>The first revision in a revlog (at the bottom of the image)
  12.312 +    <para id="x_306">The first revision in a revlog (at the bottom of the image)
  12.313        has the null ID in both of its parent slots.  For a
  12.314        <quote>normal</quote> revision, its first parent slot contains
  12.315        the ID of its parent revision, and its second contains the null
  12.316 @@ -295,23 +288,22 @@
  12.317        revision that represents a merge between branches has two normal
  12.318        revision IDs in its parent slots.</para>
  12.319  
  12.320 -    <informalfigure id="fig.concepts.revlog">
  12.321 +    <figure id="fig:concepts:revlog">
  12.322 +      <title>The conceptual structure of a revlog</title>
  12.323        <mediaobject>
  12.324 -        <imageobject><imagedata fileref="images/revlog.png"/></imageobject>
  12.325 -        <textobject><phrase>XXX add text</phrase></textobject>        
  12.326 -	<caption><para id="fig.concepts.revlog.caption">Revision in revlog</para>
  12.327 -	</caption>
  12.328 +	<imageobject><imagedata fileref="figs/revlog.png"/></imageobject>
  12.329 +	<textobject><phrase>XXX add text</phrase></textobject>
  12.330        </mediaobject>
  12.331 -    </informalfigure>
  12.332 +    </figure>
  12.333  
  12.334    </sect1>
  12.335    <sect1>
  12.336      <title>The working directory</title>
  12.337  
  12.338 -    <para>In the working directory, Mercurial stores a snapshot of the
  12.339 +    <para id="x_307">In the working directory, Mercurial stores a snapshot of the
  12.340        files from the repository as of a particular changeset.</para>
  12.341  
  12.342 -    <para>The working directory <quote>knows</quote> which changeset
  12.343 +    <para id="x_308">The working directory <quote>knows</quote> which changeset
  12.344        it contains.  When you update the working directory to contain a
  12.345        particular changeset, Mercurial looks up the appropriate
  12.346        revision of the manifest to find out which files it was tracking
  12.347 @@ -320,13 +312,13 @@
  12.348        those files, with the same contents it had when the changeset
  12.349        was committed.</para>
  12.350  
  12.351 -    <para>The <emphasis>dirstate</emphasis> contains Mercurial's
  12.352 +    <para id="x_309">The <emphasis>dirstate</emphasis> contains Mercurial's
  12.353        knowledge of the working directory.  This details which
  12.354        changeset the working directory is updated to, and all of the
  12.355        files that Mercurial is tracking in the working
  12.356        directory.</para>
  12.357  
  12.358 -    <para>Just as a revision of a revlog has room for two parents, so
  12.359 +    <para id="x_30a">Just as a revision of a revlog has room for two parents, so
  12.360        that it can represent either a normal revision (with one parent)
  12.361        or a merge of two earlier revisions, the dirstate has slots for
  12.362        two parents.  When you use the <command role="hg-cmd">hg
  12.363 @@ -342,38 +334,35 @@
  12.364      <sect2>
  12.365        <title>What happens when you commit</title>
  12.366  
  12.367 -      <para>The dirstate stores parent information for more than just
  12.368 +      <para id="x_30b">The dirstate stores parent information for more than just
  12.369  	book-keeping purposes.  Mercurial uses the parents of the
  12.370  	dirstate as <emphasis>the parents of a new
  12.371  	  changeset</emphasis> when you perform a commit.</para>
  12.372  
  12.373 -      <informalfigure id="fig.concepts.wdir">
  12.374 -        <mediaobject>
  12.375 -          <imageobject><imagedata fileref="images/wdir.png"/></imageobject>
  12.376 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.377 -          <caption><para id="fig.concepts.wdir.caption">The working
  12.378 -            directory can have two parents</para></caption>
  12.379 -        </mediaobject>
  12.380 -      </informalfigure>
  12.381 -
  12.382 -      <para>Figure <xref endterm="fig.concepts.wdir.caption"
  12.383 -          linkend="fig.concepts.wdir"/> shows the
  12.384 +      <figure id="fig:concepts:wdir">
  12.385 +	<title>The working directory can have two parents</title>
  12.386 +	<mediaobject>
  12.387 +	  <imageobject><imagedata fileref="figs/wdir.png"/></imageobject>
  12.388 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.389 +	</mediaobject>
  12.390 +      </figure>
  12.391 +
  12.392 +      <para id="x_30d"><xref linkend="fig:concepts:wdir"/> shows the
  12.393  	normal state of the working directory, where it has a single
  12.394  	changeset as parent.  That changeset is the
  12.395  	<emphasis>tip</emphasis>, the newest changeset in the
  12.396  	repository that has no children.</para>
  12.397  
  12.398 -      <informalfigure id="fig.concepts.wdir-after-commit">
  12.399 -        <mediaobject>
  12.400 -          <imageobject><imagedata fileref="images/wdir-after-commit.png"/>
  12.401 -          </imageobject>
  12.402 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.403 -          <caption><para id="fig.concepts.wdir-after-commit.caption">The working
  12.404 -            directory gains new parents after a commit</para></caption>
  12.405 -        </mediaobject>
  12.406 -      </informalfigure>
  12.407 -
  12.408 -      <para>It's useful to think of the working directory as
  12.409 +      <figure id="fig:concepts:wdir-after-commit">
  12.410 +	<title>The working directory gains new parents after a
  12.411 +	  commit</title>
  12.412 +	<mediaobject>
  12.413 +	  <imageobject><imagedata fileref="figs/wdir-after-commit.png"/></imageobject>
  12.414 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.415 +	</mediaobject>
  12.416 +      </figure>
  12.417 +
  12.418 +      <para id="x_30f">It's useful to think of the working directory as
  12.419  	<quote>the changeset I'm about to commit</quote>.  Any files
  12.420  	that you tell Mercurial that you've added, removed, renamed,
  12.421  	or copied will be reflected in that changeset, as will
  12.422 @@ -381,12 +370,11 @@
  12.423  	the new changeset will have the parents of the working
  12.424  	directory as its parents.</para>
  12.425  
  12.426 -      <para>After a commit, Mercurial will update the parents of the
  12.427 -	working directory, so that the first parent is the ID of the
  12.428 -	new changeset, and the second is the null ID.  This is shown
  12.429 -	in figure <xref endterm="fig.concepts.wdir-after-commit.caption"
  12.430 -	  linkend="fig.concepts.wdir-after-commit"/>.
  12.431 -	Mercurial
  12.432 +      <para id="x_310">After a commit, Mercurial will update the
  12.433 +	parents of the working directory, so that the first parent is
  12.434 +	the ID of the new changeset, and the second is the null ID.
  12.435 +	This is shown in <xref
  12.436 +	  linkend="fig:concepts:wdir-after-commit"/>. Mercurial
  12.437  	doesn't touch any of the files in the working directory when
  12.438  	you commit; it just modifies the dirstate to note its new
  12.439  	parents.</para>
  12.440 @@ -395,7 +383,7 @@
  12.441      <sect2>
  12.442        <title>Creating a new head</title>
  12.443  
  12.444 -      <para>It's perfectly normal to update the working directory to a
  12.445 +      <para id="x_311">It's perfectly normal to update the working directory to a
  12.446  	changeset other than the current tip.  For example, you might
  12.447  	want to know what your project looked like last Tuesday, or
  12.448  	you could be looking through changesets to see which one
  12.449 @@ -404,43 +392,39 @@
  12.450  	interested in, and then examine the files in the working
  12.451  	directory directly to see their contents as they were when you
  12.452  	committed that changeset.  The effect of this is shown in
  12.453 -	figure <xref endterm="fig.concepts.wdir-pre-branch.caption"
  12.454 -	  linkend="fig.concepts.wdir-pre-branch"/>.</para>
  12.455 -
  12.456 -      <informalfigure id="fig.concepts.wdir-pre-branch">
  12.457 -        <mediaobject>
  12.458 -          <imageobject><imagedata fileref="images/wdir-pre-branch.png"/>
  12.459 -          </imageobject>
  12.460 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.461 -          <caption><para id="fig.concepts.wdir-pre-branch.caption">The working
  12.462 -            directory, updated to an older changeset</para></caption>
  12.463 -        </mediaobject>
  12.464 -      </informalfigure>
  12.465 -
  12.466 -      <para>Having updated the working directory to an older
  12.467 -	changeset, what happens if you make some changes, and then
  12.468 -	commit?  Mercurial behaves in the same way as I outlined
  12.469 +	<xref linkend="fig:concepts:wdir-pre-branch"/>.</para>
  12.470 +
  12.471 +      <figure id="fig:concepts:wdir-pre-branch">
  12.472 +	<title>The working directory, updated to an older
  12.473 +	  changeset</title>
  12.474 +	<mediaobject>
  12.475 +	  <imageobject><imagedata fileref="figs/wdir-pre-branch.png"/></imageobject>
  12.476 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.477 +	</mediaobject>
  12.478 +      </figure>
  12.479 +
  12.480 +      <para id="x_313">Having updated the working directory to an
  12.481 +	older changeset, what happens if you make some changes, and
  12.482 +	then commit?  Mercurial behaves in the same way as I outlined
  12.483  	above.  The parents of the working directory become the
  12.484  	parents of the new changeset.  This new changeset has no
  12.485  	children, so it becomes the new tip.  And the repository now
  12.486  	contains two changesets that have no children; we call these
  12.487  	<emphasis>heads</emphasis>.  You can see the structure that
  12.488 -	this creates in figure <xref
  12.489 -	  endterm="fig.concepts.wdir-branch.caption"
  12.490 -	  linkend="fig.concepts.wdir-branch"/>.</para>
  12.491 -
  12.492 -      <informalfigure id="fig.concepts.wdir-branch">
  12.493 -        <mediaobject>
  12.494 -          <imageobject><imagedata fileref="images/wdir-branch.png"/>
  12.495 -          </imageobject>
  12.496 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.497 -          <caption><para id="fig.concepts.wdir-branch.caption">After a
  12.498 -            commit made while synced to an older changeset</para></caption>
  12.499 -        </mediaobject>
  12.500 -      </informalfigure>
  12.501 +	this creates in <xref
  12.502 +	  linkend="fig:concepts:wdir-branch"/>.</para>
  12.503 +
  12.504 +      <figure id="fig:concepts:wdir-branch">
  12.505 +	<title>After a commit made while synced to an older
  12.506 +	  changeset</title>
  12.507 +	<mediaobject>
  12.508 +	  <imageobject><imagedata fileref="figs/wdir-branch.png"/></imageobject>
  12.509 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.510 +	</mediaobject>
  12.511 +      </figure>
  12.512  
  12.513        <note>
  12.514 -	<para>  If you're new to Mercurial, you should keep in mind a
  12.515 +	<para id="x_315">  If you're new to Mercurial, you should keep in mind a
  12.516  	  common <quote>error</quote>, which is to use the <command
  12.517  	    role="hg-cmd">hg pull</command> command without any
  12.518  	  options.  By default, the <command role="hg-cmd">hg
  12.519 @@ -452,7 +436,7 @@
  12.520  	  a new head, because your working directory isn't synced to
  12.521  	  whatever the current tip is.</para>
  12.522  
  12.523 -	<para>  I put the word <quote>error</quote> in quotes because
  12.524 +	<para id="x_316">  I put the word <quote>error</quote> in quotes because
  12.525  	  all that you need to do to rectify this situation is
  12.526  	  <command role="hg-cmd">hg merge</command>, then <command
  12.527  	    role="hg-cmd">hg commit</command>.  In other words, this
  12.528 @@ -466,67 +450,66 @@
  12.529      <sect2>
  12.530        <title>Merging heads</title>
  12.531  
  12.532 -      <para>When you run the <command role="hg-cmd">hg merge</command>
  12.533 -	command, Mercurial leaves the first parent of the working
  12.534 -	directory unchanged, and sets the second parent to the
  12.535 -	changeset you're merging with, as shown in figure <xref
  12.536 -	  endterm="fig.concepts.wdir-merge.caption" 
  12.537 -	  linkend="fig.concepts.wdir-merge"/>.</para>
  12.538 -
  12.539 -      <informalfigure id="fig.concepts.wdir-merge">
  12.540 -        <mediaobject>
  12.541 -          <imageobject><imagedata fileref="images/wdir-merge.png"/>
  12.542 -          </imageobject>
  12.543 -          <textobject><phrase>XXX add text</phrase></textobject>
  12.544 -          <caption><para id="fig.concepts.wdir-merge.caption">Merging two
  12.545 -            heads</para></caption>
  12.546 -        </mediaobject>
  12.547 -      </informalfigure>
  12.548 -
  12.549 -      <para>Mercurial also has to modify the working directory, to
  12.550 +      <para id="x_317">When you run the <command role="hg-cmd">hg
  12.551 +	  merge</command> command, Mercurial leaves the first parent
  12.552 +	of the working directory unchanged, and sets the second parent
  12.553 +	to the changeset you're merging with, as shown in <xref
  12.554 +	  linkend="fig:concepts:wdir-merge"/>.</para>
  12.555 +
  12.556 +      <figure id="fig:concepts:wdir-merge">
  12.557 +	<title>Merging two heads</title>
  12.558 +	<mediaobject>
  12.559 +	  <imageobject>
  12.560 +	    <imagedata fileref="figs/wdir-merge.png"/>
  12.561 +	  </imageobject>
  12.562 +	  <textobject><phrase>XXX add text</phrase></textobject>
  12.563 +	</mediaobject>
  12.564 +      </figure>
  12.565 +
  12.566 +      <para id="x_319">Mercurial also has to modify the working directory, to
  12.567  	merge the files managed in the two changesets.  Simplified a
  12.568  	little, the merging process goes like this, for every file in
  12.569  	the manifests of both changesets.</para>
  12.570        <itemizedlist>
  12.571 -	<listitem><para>If neither changeset has modified a file, do
  12.572 +	<listitem><para id="x_31a">If neither changeset has modified a file, do
  12.573  	    nothing with that file.</para>
  12.574  	</listitem>
  12.575 -	<listitem><para>If one changeset has modified a file, and the
  12.576 +	<listitem><para id="x_31b">If one changeset has modified a file, and the
  12.577  	    other hasn't, create the modified copy of the file in the
  12.578  	    working directory.</para>
  12.579  	</listitem>
  12.580 -	<listitem><para>If one changeset has removed a file, and the
  12.581 +	<listitem><para id="x_31c">If one changeset has removed a file, and the
  12.582  	    other hasn't (or has also deleted it), delete the file
  12.583  	    from the working directory.</para>
  12.584  	</listitem>
  12.585 -	<listitem><para>If one changeset has removed a file, but the
  12.586 +	<listitem><para id="x_31d">If one changeset has removed a file, but the
  12.587  	    other has modified the file, ask the user what to do: keep
  12.588  	    the modified file, or remove it?</para>
  12.589  	</listitem>
  12.590 -	<listitem><para>If both changesets have modified a file,
  12.591 +	<listitem><para id="x_31e">If both changesets have modified a file,
  12.592  	    invoke an external merge program to choose the new
  12.593  	    contents for the merged file.  This may require input from
  12.594  	    the user.</para>
  12.595  	</listitem>
  12.596 -	<listitem><para>If one changeset has modified a file, and the
  12.597 +	<listitem><para id="x_31f">If one changeset has modified a file, and the
  12.598  	    other has renamed or copied the file, make sure that the
  12.599  	    changes follow the new name of the file.</para>
  12.600  	</listitem></itemizedlist>
  12.601 -      <para>There are more details&emdash;merging has plenty of corner
  12.602 +      <para id="x_320">There are more details&emdash;merging has plenty of corner
  12.603  	cases&emdash;but these are the most common choices that are
  12.604  	involved in a merge.  As you can see, most cases are
  12.605  	completely automatic, and indeed most merges finish
  12.606  	automatically, without requiring your input to resolve any
  12.607  	conflicts.</para>
  12.608  
  12.609 -      <para>When you're thinking about what happens when you commit
  12.610 +      <para id="x_321">When you're thinking about what happens when you commit
  12.611  	after a merge, once again the working directory is <quote>the
  12.612  	  changeset I'm about to commit</quote>.  After the <command
  12.613  	  role="hg-cmd">hg merge</command> command completes, the
  12.614  	working directory has two parents; these will become the
  12.615  	parents of the new changeset.</para>
  12.616  
  12.617 -      <para>Mercurial lets you perform multiple merges, but you must
  12.618 +      <para id="x_322">Mercurial lets you perform multiple merges, but you must
  12.619  	commit the results of each individual merge as you go.  This
  12.620  	is necessary because Mercurial only tracks two parents for
  12.621  	both revisions and the working directory.  While it would be
  12.622 @@ -539,7 +522,7 @@
  12.623    <sect1>
  12.624      <title>Other interesting design features</title>
  12.625  
  12.626 -    <para>In the sections above, I've tried to highlight some of the
  12.627 +    <para id="x_323">In the sections above, I've tried to highlight some of the
  12.628        most important aspects of Mercurial's design, to illustrate that
  12.629        it pays careful attention to reliability and performance.
  12.630        However, the attention to detail doesn't stop there.  There are
  12.631 @@ -552,13 +535,13 @@
  12.632      <sect2>
  12.633        <title>Clever compression</title>
  12.634  
  12.635 -      <para>When appropriate, Mercurial will store both snapshots and
  12.636 +      <para id="x_324">When appropriate, Mercurial will store both snapshots and
  12.637  	deltas in compressed form.  It does this by always
  12.638  	<emphasis>trying to</emphasis> compress a snapshot or delta,
  12.639  	but only storing the compressed version if it's smaller than
  12.640  	the uncompressed version.</para>
  12.641  
  12.642 -      <para>This means that Mercurial does <quote>the right
  12.643 +      <para id="x_325">This means that Mercurial does <quote>the right
  12.644  	  thing</quote> when storing a file whose native form is
  12.645  	compressed, such as a <literal>zip</literal> archive or a JPEG
  12.646  	image.  When these types of files are compressed a second
  12.647 @@ -566,7 +549,7 @@
  12.648  	once-compressed form, and so Mercurial will store the plain
  12.649  	<literal>zip</literal> or JPEG.</para>
  12.650  
  12.651 -      <para>Deltas between revisions of a compressed file are usually
  12.652 +      <para id="x_326">Deltas between revisions of a compressed file are usually
  12.653  	larger than snapshots of the file, and Mercurial again does
  12.654  	<quote>the right thing</quote> in these cases.  It finds that
  12.655  	such a delta exceeds the threshold at which it should store a
  12.656 @@ -577,7 +560,7 @@
  12.657        <sect3>
  12.658  	<title>Network recompression</title>
  12.659  
  12.660 -	<para>When storing revisions on disk, Mercurial uses the
  12.661 +	<para id="x_327">When storing revisions on disk, Mercurial uses the
  12.662  	  <quote>deflate</quote> compression algorithm (the same one
  12.663  	  used by the popular <literal>zip</literal> archive format),
  12.664  	  which balances good speed with a respectable compression
  12.665 @@ -585,7 +568,7 @@
  12.666  	  network connection, Mercurial uncompresses the compressed
  12.667  	  revision data.</para>
  12.668  
  12.669 -	<para>If the connection is over HTTP, Mercurial recompresses
  12.670 +	<para id="x_328">If the connection is over HTTP, Mercurial recompresses
  12.671  	  the entire stream of data using a compression algorithm that
  12.672  	  gives a better compression ratio (the Burrows-Wheeler
  12.673  	  algorithm from the widely used <literal>bzip2</literal>
  12.674 @@ -595,7 +578,7 @@
  12.675  	  transferred, yielding better network performance over almost
  12.676  	  all kinds of network.</para>
  12.677  
  12.678 -	<para>(If the connection is over <command>ssh</command>,
  12.679 +	<para id="x_329">(If the connection is over <command>ssh</command>,
  12.680  	  Mercurial <emphasis>doesn't</emphasis> recompress the
  12.681  	  stream, because <command>ssh</command> can already do this
  12.682  	  itself.)</para>
  12.683 @@ -605,20 +588,20 @@
  12.684      <sect2>
  12.685        <title>Read/write ordering and atomicity</title>
  12.686  
  12.687 -      <para>Appending to files isn't the whole story when it comes to
  12.688 -	guaranteeing that a reader won't see a partial write.  If you
  12.689 -	recall figure <xref endterm="fig.concepts.metadata.caption"
  12.690 -	linkend="fig.concepts.metadata"/>, revisions in the
  12.691 -	changelog point to revisions in the manifest, and revisions in
  12.692 -	the manifest point to revisions in filelogs.  This hierarchy
  12.693 -	is deliberate.</para>
  12.694 -
  12.695 -      <para>A writer starts a transaction by writing filelog and
  12.696 +      <para id="x_32a">Appending to files isn't the whole story when
  12.697 +	it comes to guaranteeing that a reader won't see a partial
  12.698 +	write.  If you recall <xref linkend="fig:concepts:metadata"/>,
  12.699 +	revisions in
  12.700 +	the changelog point to revisions in the manifest, and
  12.701 +	revisions in the manifest point to revisions in filelogs.
  12.702 +	This hierarchy is deliberate.</para>
  12.703 +
  12.704 +      <para id="x_32b">A writer starts a transaction by writing filelog and
  12.705  	manifest data, and doesn't write any changelog data until
  12.706  	those are finished.  A reader starts by reading changelog
  12.707  	data, then manifest data, followed by filelog data.</para>
  12.708  
  12.709 -      <para>Since the writer has always finished writing filelog and
  12.710 +      <para id="x_32c">Since the writer has always finished writing filelog and
  12.711  	manifest data before it writes to the changelog, a reader will
  12.712  	never read a pointer to a partially written manifest revision
  12.713  	from the changelog, and it will never read a pointer to a
  12.714 @@ -628,7 +611,7 @@
  12.715      <sect2>
  12.716        <title>Concurrent access</title>
  12.717  
  12.718 -      <para>The read/write ordering and atomicity guarantees mean that
  12.719 +      <para id="x_32d">The read/write ordering and atomicity guarantees mean that
  12.720  	Mercurial never needs to <emphasis>lock</emphasis> a
  12.721  	repository when it's reading data, even if the repository is
  12.722  	being written to while the read is occurring. This has a big
  12.723 @@ -637,7 +620,7 @@
  12.724  	safely all at once, no matter whether it's being written to or
  12.725  	not.</para>
  12.726  
  12.727 -      <para>The lockless nature of reading means that if you're
  12.728 +      <para id="x_32e">The lockless nature of reading means that if you're
  12.729  	sharing a repository on a multi-user system, you don't need to
  12.730  	grant other local users permission to
  12.731  	<emphasis>write</emphasis> to your repository in order for
  12.732 @@ -650,7 +633,7 @@
  12.733  	which of course makes for all kinds of nasty and annoying
  12.734  	security and administrative problems.)</para>
  12.735  
  12.736 -      <para>Mercurial uses locks to ensure that only one process can
  12.737 +      <para id="x_32f">Mercurial uses locks to ensure that only one process can
  12.738  	write to a repository at a time (the locking mechanism is safe
  12.739  	even over filesystems that are notoriously hostile to locking,
  12.740  	such as NFS).  If a repository is locked, a writer will wait
  12.741 @@ -664,7 +647,7 @@
  12.742        <sect3>
  12.743  	<title>Safe dirstate access</title>
  12.744  
  12.745 -	<para>As with revision data, Mercurial doesn't take a lock to
  12.746 +	<para id="x_330">As with revision data, Mercurial doesn't take a lock to
  12.747  	  read the dirstate file; it does acquire a lock to write it.
  12.748  	  To avoid the possibility of reading a partially written copy
  12.749  	  of the dirstate file, Mercurial writes to a file with a
  12.750 @@ -679,17 +662,17 @@
  12.751      <sect2>
  12.752        <title>Avoiding seeks</title>
  12.753  
  12.754 -      <para>Critical to Mercurial's performance is the avoidance of
  12.755 +      <para id="x_331">Critical to Mercurial's performance is the avoidance of
  12.756  	seeks of the disk head, since any seek is far more expensive
  12.757  	than even a comparatively large read operation.</para>
  12.758  
  12.759 -      <para>This is why, for example, the dirstate is stored in a
  12.760 +      <para id="x_332">This is why, for example, the dirstate is stored in a
  12.761  	single file.  If there were a dirstate file per directory that
  12.762  	Mercurial tracked, the disk would seek once per directory.
  12.763  	Instead, Mercurial reads the entire single dirstate file in
  12.764  	one step.</para>
  12.765  
  12.766 -      <para>Mercurial also uses a <quote>copy on write</quote> scheme
  12.767 +      <para id="x_333">Mercurial also uses a <quote>copy on write</quote> scheme
  12.768  	when cloning a repository on local storage.  Instead of
  12.769  	copying every revlog file from the old repository into the new
  12.770  	repository, it makes a <quote>hard link</quote>, which is a
  12.771 @@ -700,7 +683,7 @@
  12.772  	one repository is using the file, so Mercurial makes a new
  12.773  	copy of the file that is private to this repository.</para>
  12.774  
  12.775 -      <para>A few revision control developers have pointed out that
  12.776 +      <para id="x_334">A few revision control developers have pointed out that
  12.777  	this idea of making a complete private copy of a file is not
  12.778  	very efficient in its use of storage.  While this is true,
  12.779  	storage is cheap, and this method gives the highest
  12.780 @@ -714,21 +697,21 @@
  12.781      <sect2>
  12.782        <title>Other contents of the dirstate</title>
  12.783  
  12.784 -      <para>Because Mercurial doesn't force you to tell it when you're
  12.785 +      <para id="x_335">Because Mercurial doesn't force you to tell it when you're
  12.786  	modifying a file, it uses the dirstate to store some extra
  12.787  	information so it can determine efficiently whether you have
  12.788  	modified a file.  For each file in the working directory, it
  12.789  	stores the time that it last modified the file itself, and the
  12.790  	size of the file at that time.</para>
  12.791  
  12.792 -      <para>When you explicitly <command role="hg-cmd">hg
  12.793 +      <para id="x_336">When you explicitly <command role="hg-cmd">hg
  12.794  	  add</command>, <command role="hg-cmd">hg remove</command>,
  12.795  	<command role="hg-cmd">hg rename</command> or <command
  12.796  	  role="hg-cmd">hg copy</command> files, Mercurial updates the
  12.797  	dirstate so that it knows what to do with those files when you
  12.798  	commit.</para>
  12.799  
  12.800 -      <para>When Mercurial is checking the states of files in the
  12.801 +      <para id="x_337">When Mercurial is checking the states of files in the
  12.802  	working directory, it first checks a file's modification time.
  12.803  	If that has not changed, the file must not have been modified.
  12.804  	If the file's size has changed, the file must have been
    13.1 --- a/en/ch04-daily.xml	Fri Mar 20 17:17:55 2009 +0800
    13.2 +++ b/en/ch04-daily.xml	Mon Mar 30 16:23:33 2009 +0800
    13.3 @@ -1,6 +1,6 @@
    13.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    13.5  
    13.6 -<chapter id="chap.daily">
    13.7 +<chapter id="chap:daily">
    13.8    <?dbhtml filename="mercurial-in-daily-use.html"?>
    13.9    <title>Mercurial in daily use</title>
   13.10  
   13.11 @@ -274,7 +274,7 @@
   13.12        &interaction.daily.copy.merge;
   13.13  
   13.14      </sect2>
   13.15 -    <sect2 id="sec.daily.why-copy">
   13.16 +    <sect2 id="sec:daily:why-copy">
   13.17        <title>Why should changes follow copies?</title>
   13.18  
   13.19        <para id="x_1c4">This behaviour, of changes to a file propagating out to
   13.20 @@ -328,7 +328,7 @@
   13.21  	Unix-like systems, that's <command>cp</command>) to make a
   13.22  	copy of a file, then <command role="hg-cmd">hg add</command>
   13.23  	the new copy by hand.  Before you do so, though, please do
   13.24 -	reread section <xref linkend="sec.daily.why-copy"/>, and make
   13.25 +	reread <xref linkend="sec:daily:why-copy"/>, and make
   13.26  	an informed
   13.27  	decision that this behaviour is not appropriate to your
   13.28  	specific case.</para>
   13.29 @@ -529,10 +529,10 @@
   13.30        decide it was a mistake, you can still do something about it,
   13.31        though your options may be more limited.</para>
   13.32  
   13.33 -    <para id="x_1e5">For more information about the <command role="hg-cmd">hg
   13.34 -	revert</command> command, and details about how to deal with
   13.35 -      changes you have already committed, see chapter <xref
   13.36 -	linkend="chap.undo"/>.</para>
   13.37 +    <para id="x_1e5">For more information about the <command
   13.38 +	role="hg-cmd">hg revert</command> command, and details about
   13.39 +      how to deal with changes you have already committed, see <xref
   13.40 +	linkend="chap:undo"/>.</para>
   13.41  
   13.42    </sect1>
   13.43  </chapter>
    14.1 --- a/en/ch05-collab.xml	Fri Mar 20 17:17:55 2009 +0800
    14.2 +++ b/en/ch05-collab.xml	Mon Mar 30 16:23:33 2009 +0800
    14.3 @@ -1,10 +1,10 @@
    14.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    14.5  
    14.6 -<chapter id="cha.collab">
    14.7 +<chapter id="cha:collab">
    14.8    <?dbhtml filename="collaborating-with-other-people.html"?>
    14.9    <title>Collaborating with other people</title>
   14.10  
   14.11 -  <para>As a completely decentralised tool, Mercurial doesn't impose
   14.12 +  <para id="x_44a">As a completely decentralised tool, Mercurial doesn't impose
   14.13      any policy on how people ought to work with each other.  However,
   14.14      if you're new to distributed revision control, it helps to have
   14.15      some tools and examples in mind when you're thinking about
   14.16 @@ -13,15 +13,15 @@
   14.17    <sect1>
   14.18      <title>Mercurial's web interface</title>
   14.19  
   14.20 -    <para>Mercurial has a powerful web interface that provides several
   14.21 +    <para id="x_44b">Mercurial has a powerful web interface that provides several
   14.22        useful capabilities.</para>
   14.23  
   14.24 -    <para>For interactive use, the web interface lets you browse a
   14.25 +    <para id="x_44c">For interactive use, the web interface lets you browse a
   14.26        single repository or a collection of repositories.  You can view
   14.27        the history of a repository, examine each change (comments and
   14.28        diffs), and view the contents of each directory and file.</para>
   14.29  
   14.30 -    <para>Also for human consumption, the web interface provides an
   14.31 +    <para id="x_44d">Also for human consumption, the web interface provides an
   14.32        RSS feed of the changes in a repository.  This lets you
   14.33        <quote>subscribe</quote> to a repository using your favourite
   14.34        feed reader, and be automatically notified of activity in that
   14.35 @@ -31,35 +31,35 @@
   14.36        configuration on the part of whoever is serving the
   14.37        repository.</para>
   14.38  
   14.39 -    <para>The web interface also lets remote users clone a repository,
   14.40 +    <para id="x_44e">The web interface also lets remote users clone a repository,
   14.41        pull changes from it, and (when the server is configured to
   14.42        permit it) push changes back to it.  Mercurial's HTTP tunneling
   14.43        protocol aggressively compresses data, so that it works
   14.44        efficiently even over low-bandwidth network connections.</para>
   14.45  
   14.46 -    <para>The easiest way to get started with the web interface is to
   14.47 +    <para id="x_44f">The easiest way to get started with the web interface is to
   14.48        use your web browser to visit an existing repository, such as
   14.49        the master Mercurial repository at <ulink
   14.50  	url="http://www.selenic.com/repo/hg?style=gitweb">http://www.selenic.com/repo/hg?style=gitweb</ulink>.</para>
   14.51  
   14.52 -    <para>If you're interested in providing a web interface to your
   14.53 -      own repositories, Mercurial provides two ways to do this.  The
   14.54 -      first is using the <command role="hg-cmd">hg serve</command>
   14.55 -      command, which is best suited to short-term
   14.56 -      <quote>lightweight</quote> serving.  See section <xref
   14.57 -	linkend="sec.collab.serve"/> below for details of how to use
   14.58 +    <para id="x_450">If you're interested in providing a web interface
   14.59 +      to your own repositories, Mercurial provides two ways to do
   14.60 +      this.  The first is using the <command role="hg-cmd">hg
   14.61 +	serve</command> command, which is best suited to short-term
   14.62 +      <quote>lightweight</quote> serving.  See <xref
   14.63 +	linkend="sec:collab:serve"/> below for details of how to use
   14.64        this command.  If you have a long-lived repository that you'd
   14.65        like to make permanently available, Mercurial has built-in
   14.66        support for the CGI (Common Gateway Interface) standard, which
   14.67 -      all common web servers support.  See section <xref
   14.68 -	linkend="sec.collab.cgi"/> for details of CGI
   14.69 +      all common web servers support.  See <xref
   14.70 +	linkend="sec:collab:cgi"/> for details of CGI
   14.71        configuration.</para>
   14.72  
   14.73    </sect1>
   14.74    <sect1>
   14.75      <title>Collaboration models</title>
   14.76  
   14.77 -    <para>With a suitably flexible tool, making decisions about
   14.78 +    <para id="x_451">With a suitably flexible tool, making decisions about
   14.79        workflow is much more of a social engineering challenge than a
   14.80        technical one. Mercurial imposes few limitations on how you can
   14.81        structure the flow of work in a project, so it's up to you and
   14.82 @@ -69,13 +69,13 @@
   14.83      <sect2>
   14.84        <title>Factors to keep in mind</title>
   14.85  
   14.86 -      <para>The most important aspect of any model that you must keep
   14.87 +      <para id="x_452">The most important aspect of any model that you must keep
   14.88  	in mind is how well it matches the needs and capabilities of
   14.89  	the people who will be using it.  This might seem
   14.90  	self-evident; even so, you still can't afford to forget it for
   14.91  	a moment.</para>
   14.92  
   14.93 -      <para>I once put together a workflow model that seemed to make
   14.94 +      <para id="x_453">I once put together a workflow model that seemed to make
   14.95  	perfect sense to me, but that caused a considerable amount of
   14.96  	consternation and strife within my development team.  In spite
   14.97  	of my attempts to explain why we needed a complex set of
   14.98 @@ -85,7 +85,7 @@
   14.99  	operating under, or face the consequences of those constraints
  14.100  	in the details of the model that I was advocating.</para>
  14.101  
  14.102 -      <para>Don't sweep foreseeable social or technical problems under
  14.103 +      <para id="x_454">Don't sweep foreseeable social or technical problems under
  14.104  	the rug. Whatever scheme you put into effect, you should plan
  14.105  	for mistakes and problem scenarios.  Consider adding automated
  14.106  	machinery to prevent, or quickly recover from, trouble that
  14.107 @@ -101,12 +101,12 @@
  14.108      <sect2>
  14.109        <title>Informal anarchy</title>
  14.110  
  14.111 -      <para>I wouldn't suggest an <quote>anything goes</quote>
  14.112 +      <para id="x_455">I wouldn't suggest an <quote>anything goes</quote>
  14.113  	approach as something sustainable, but it's a model that's
  14.114  	easy to grasp, and it works perfectly well in a few unusual
  14.115  	situations.</para>
  14.116  
  14.117 -      <para>As one example, many projects have a loose-knit group of
  14.118 +      <para id="x_456">As one example, many projects have a loose-knit group of
  14.119  	collaborators who rarely physically meet each other.  Some
  14.120  	groups like to overcome the isolation of working at a distance
  14.121  	by organising occasional <quote>sprints</quote>.  In a sprint,
  14.122 @@ -115,21 +115,21 @@
  14.123  	place) and spend several days more or less locked in there,
  14.124  	hacking intensely on a handful of projects.</para>
  14.125  
  14.126 -      <para>A sprint is the perfect place to use the <command
  14.127 -	  role="hg-cmd">hg serve</command> command, since <command
  14.128 -	  role="hg-cmd">hg serve</command> does not require any fancy
  14.129 -	server infrastructure.  You can get started with <command
  14.130 -	  role="hg-cmd">hg serve</command> in moments, by reading
  14.131 -	section <xref linkend="sec.collab.serve"/> below.  Then simply
  14.132 -	tell
  14.133 -	the person next to you that you're running a server, send the
  14.134 -	URL to them in an instant message, and you immediately have a
  14.135 -	quick-turnaround way to work together.  They can type your URL
  14.136 -	into their web browser and quickly review your changes; or
  14.137 -	they can pull a bugfix from you and verify it; or they can
  14.138 -	clone a branch containing a new feature and try it out.</para>
  14.139 -
  14.140 -      <para>The charm, and the problem, with doing things in an ad hoc
  14.141 +      <para id="x_457">A sprint is the perfect place to use the
  14.142 +	<command role="hg-cmd">hg serve</command> command, since
  14.143 +	<command role="hg-cmd">hg serve</command> does not require any
  14.144 +	fancy server infrastructure.  You can get started with
  14.145 +	<command role="hg-cmd">hg serve</command> in moments, by
  14.146 +	reading <xref linkend="sec:collab:serve"/> below.  Then simply
  14.147 +	tell the person next to you that you're running a server, send
  14.148 +	the URL to them in an instant message, and you immediately
  14.149 +	have a quick-turnaround way to work together.  They can type
  14.150 +	your URL into their web browser and quickly review your
  14.151 +	changes; or they can pull a bugfix from you and verify it; or
  14.152 +	they can clone a branch containing a new feature and try it
  14.153 +	out.</para>
  14.154 +
  14.155 +      <para id="x_458">The charm, and the problem, with doing things in an ad hoc
  14.156  	fashion like this is that only people who know about your
  14.157  	changes, and where they are, can see them.  Such an informal
  14.158  	approach simply doesn't scale beyond a handful people, because
  14.159 @@ -140,18 +140,18 @@
  14.160      <sect2>
  14.161        <title>A single central repository</title>
  14.162  
  14.163 -      <para>For smaller projects migrating from a centralised revision
  14.164 +      <para id="x_459">For smaller projects migrating from a centralised revision
  14.165  	control tool, perhaps the easiest way to get started is to
  14.166  	have changes flow through a single shared central repository.
  14.167  	This is also the most common <quote>building block</quote> for
  14.168  	more ambitious workflow schemes.</para>
  14.169  
  14.170 -      <para>Contributors start by cloning a copy of this repository.
  14.171 +      <para id="x_45a">Contributors start by cloning a copy of this repository.
  14.172  	They can pull changes from it whenever they need to, and some
  14.173  	(perhaps all) developers have permission to push a change back
  14.174  	when they're ready for other people to see it.</para>
  14.175  
  14.176 -      <para>Under this model, it can still often make sense for people
  14.177 +      <para id="x_45b">Under this model, it can still often make sense for people
  14.178  	to pull changes directly from each other, without going
  14.179  	through the central repository.  Consider a case in which I
  14.180  	have a tentative bug fix, but I am worried that if I were to
  14.181 @@ -162,22 +162,21 @@
  14.182  	lets us put off publishing the potentially unsafe change until
  14.183  	it has had a little testing.</para>
  14.184  
  14.185 -      <para>In this kind of scenario, people usually use the
  14.186 -	<command>ssh</command> protocol to securely push changes to
  14.187 -	the central repository, as documented in section <xref
  14.188 -	  linkend="sec.collab.ssh"/>.  It's also
  14.189 -	usual to publish a read-only copy of the repository over HTTP
  14.190 -	using CGI, as in section <xref linkend="sec.collab.cgi"/>.
  14.191 -	Publishing over HTTP
  14.192 -	satisfies the needs of people who don't have push access, and
  14.193 -	those who want to use web browsers to browse the repository's
  14.194 -	history.</para>
  14.195 +      <para id="x_45c">In this kind of scenario, people usually use
  14.196 +	the <command>ssh</command> protocol to securely push changes
  14.197 +	to the central repository, as documented in <xref
  14.198 +	  linkend="sec:collab:ssh"/>.  It's also usual to publish a
  14.199 +	read-only copy of the repository over HTTP using CGI, as in
  14.200 +	<xref linkend="sec:collab:cgi"/>. Publishing
  14.201 +	over HTTP satisfies the needs of people who don't have push
  14.202 +	access, and those who want to use web browsers to browse the
  14.203 +	repository's history.</para>
  14.204  
  14.205      </sect2>
  14.206      <sect2>
  14.207        <title>Working with multiple branches</title>
  14.208  
  14.209 -      <para>Projects of any significant size naturally tend to make
  14.210 +      <para id="x_45d">Projects of any significant size naturally tend to make
  14.211  	progress on several fronts simultaneously.  In the case of
  14.212  	software, it's common for a project to go through periodic
  14.213  	official releases.  A release might then go into
  14.214 @@ -190,7 +189,7 @@
  14.215  	different directions in which development is
  14.216  	proceeding.</para>
  14.217  
  14.218 -      <para>Mercurial is particularly well suited to managing a number
  14.219 +      <para id="x_45e">Mercurial is particularly well suited to managing a number
  14.220  	of simultaneous, but not identical, branches.  Each
  14.221  	<quote>development direction</quote> can live in its own
  14.222  	central repository, and you can merge changes from one to
  14.223 @@ -199,27 +198,27 @@
  14.224  	branch will never affect a stable branch unless someone
  14.225  	explicitly merges those changes in.</para>
  14.226  
  14.227 -      <para>Here's an example of how this can work in practice.  Let's
  14.228 +      <para id="x_45f">Here's an example of how this can work in practice.  Let's
  14.229  	say you have one <quote>main branch</quote> on a central
  14.230  	server.</para>
  14.231  
  14.232        &interaction.branching.init;
  14.233  
  14.234 -      <para>People clone it, make changes locally, test them, and push
  14.235 +      <para id="x_460">People clone it, make changes locally, test them, and push
  14.236  	them back.</para>
  14.237  
  14.238 -      <para>Once the main branch reaches a release milestone, you can
  14.239 +      <para id="x_461">Once the main branch reaches a release milestone, you can
  14.240  	use the <command role="hg-cmd">hg tag</command> command to
  14.241  	give a permanent name to the milestone revision.</para>
  14.242  
  14.243  	&interaction.branching.tag;
  14.244  
  14.245 -      <para>Let's say some ongoing
  14.246 +      <para id="x_462">Let's say some ongoing
  14.247  	development occurs on the main branch.</para>
  14.248  
  14.249        &interaction.branching.main;
  14.250  
  14.251 -      <para>Using the tag that was recorded at the milestone, people
  14.252 +      <para id="x_463">Using the tag that was recorded at the milestone, people
  14.253  	who clone that repository at any time in the future can use
  14.254  	<command role="hg-cmd">hg update</command> to get a copy of
  14.255  	the working directory exactly as it was when that tagged
  14.256 @@ -227,26 +226,26 @@
  14.257  
  14.258        &interaction.branching.update;
  14.259  
  14.260 -      <para>In addition, immediately after the main branch is tagged,
  14.261 +      <para id="x_464">In addition, immediately after the main branch is tagged,
  14.262  	someone can then clone the main branch on the server to a new
  14.263  	<quote>stable</quote> branch, also on the server.</para>
  14.264  
  14.265        &interaction.branching.clone;
  14.266  
  14.267 -      <para>Someone who needs to make a change to the stable branch
  14.268 +      <para id="x_465">Someone who needs to make a change to the stable branch
  14.269  	can then clone <emphasis>that</emphasis> repository, make
  14.270  	their changes, commit, and push their changes back there.</para>
  14.271  
  14.272        &interaction.branching.stable;
  14.273  
  14.274 -      <para>Because Mercurial repositories are independent, and
  14.275 +      <para id="x_466">Because Mercurial repositories are independent, and
  14.276  	Mercurial doesn't move changes around automatically, the
  14.277  	stable and main branches are <emphasis>isolated</emphasis>
  14.278  	from each other.  The changes that you made on the main branch
  14.279  	don't <quote>leak</quote> to the stable branch, and vice
  14.280  	versa.</para>
  14.281  
  14.282 -      <para>You'll often want all of your bugfixes on the stable
  14.283 +      <para id="x_467">You'll often want all of your bugfixes on the stable
  14.284  	branch to show up on the main branch, too.  Rather than
  14.285  	rewrite a bugfix on the main branch, you can simply pull and
  14.286  	merge changes from the stable to the main branch, and
  14.287 @@ -254,7 +253,7 @@
  14.288  
  14.289  	&interaction.branching.merge;
  14.290  
  14.291 -      <para>The main branch will still contain changes that are not on
  14.292 +      <para id="x_468">The main branch will still contain changes that are not on
  14.293  	the stable branch, but it will also contain all of the
  14.294  	bugfixes from the stable branch.  The stable branch remains
  14.295  	unaffected by these changes.</para>
  14.296 @@ -263,24 +262,22 @@
  14.297      <sect2>
  14.298        <title>Feature branches</title>
  14.299  
  14.300 -      <para>For larger projects, an effective way to manage change is
  14.301 +      <para id="x_469">For larger projects, an effective way to manage change is
  14.302  	to break up a team into smaller groups.  Each group has a
  14.303  	shared branch of its own, cloned from a single
  14.304  	<quote>master</quote> branch used by the entire project.
  14.305  	People working on an individual branch are typically quite
  14.306  	isolated from developments on other branches.</para>
  14.307  
  14.308 -      <informalfigure id="fig.collab.feature-branches">
  14.309 -        <mediaobject>
  14.310 -          <imageobject><imagedata fileref="images/feature-branches.png"/>
  14.311 -          </imageobject>
  14.312 -          <textobject><phrase>XXX add text</phrase></textobject>
  14.313 -          <caption><para id="fig.collab.feature-branches.caption">Feature
  14.314 -            branches</para></caption>
  14.315 -        </mediaobject>
  14.316 -      </informalfigure>
  14.317 -
  14.318 -      <para>When a particular feature is deemed to be in suitable
  14.319 +      <figure id="fig:collab:feature-branches">
  14.320 +	<title>Feature branches</title>
  14.321 +	<mediaobject>
  14.322 +	  <imageobject><imagedata imagedata width="100%" fileref="figs/feature-branches.png"/></imageobject>
  14.323 +	  <textobject><phrase>XXX add text</phrase></textobject>
  14.324 +	</mediaobject>
  14.325 +      </figure>
  14.326 +
  14.327 +      <para id="x_46b">When a particular feature is deemed to be in suitable
  14.328  	shape, someone on that feature team pulls and merges from the
  14.329  	master branch into the feature branch, then pushes back up to
  14.330  	the master branch.</para>
  14.331 @@ -289,12 +286,12 @@
  14.332      <sect2>
  14.333        <title>The release train</title>
  14.334  
  14.335 -      <para>Some projects are organised on a <quote>train</quote>
  14.336 +      <para id="x_46c">Some projects are organised on a <quote>train</quote>
  14.337  	basis: a release is scheduled to happen every few months, and
  14.338  	whatever features are ready when the <quote>train</quote> is
  14.339  	ready to leave are allowed in.</para>
  14.340  
  14.341 -      <para>This model resembles working with feature branches.  The
  14.342 +      <para id="x_46d">This model resembles working with feature branches.  The
  14.343  	difference is that when a feature branch misses a train,
  14.344  	someone on the feature team pulls and merges the changes that
  14.345  	went out on that train release into the feature branch, and
  14.346 @@ -305,7 +302,7 @@
  14.347      <sect2>
  14.348        <title>The Linux kernel model</title>
  14.349  
  14.350 -      <para>The development of the Linux kernel has a shallow
  14.351 +      <para id="x_46e">The development of the Linux kernel has a shallow
  14.352  	hierarchical structure, surrounded by a cloud of apparent
  14.353  	chaos.  Because most Linux developers use
  14.354  	<command>git</command>, a distributed revision control tool
  14.355 @@ -313,14 +310,14 @@
  14.356  	describe the way work flows in that environment; if you like
  14.357  	the ideas, the approach translates well across tools.</para>
  14.358  
  14.359 -      <para>At the center of the community sits Linus Torvalds, the
  14.360 +      <para id="x_46f">At the center of the community sits Linus Torvalds, the
  14.361  	creator of Linux.  He publishes a single source repository
  14.362  	that is considered the <quote>authoritative</quote> current
  14.363  	tree by the entire developer community. Anyone can clone
  14.364  	Linus's tree, but he is very choosy about whose trees he pulls
  14.365  	from.</para>
  14.366  
  14.367 -      <para>Linus has a number of <quote>trusted lieutenants</quote>.
  14.368 +      <para id="x_470">Linus has a number of <quote>trusted lieutenants</quote>.
  14.369  	As a general rule, he pulls whatever changes they publish, in
  14.370  	most cases without even reviewing those changes.  Some of
  14.371  	those lieutenants are generally agreed to be
  14.372 @@ -332,7 +329,7 @@
  14.373  	If the maintainer reviews their changes and agrees to take
  14.374  	them, they'll pass them along to Linus in due course.</para>
  14.375  
  14.376 -      <para>Individual lieutenants have their own approaches to
  14.377 +      <para id="x_471">Individual lieutenants have their own approaches to
  14.378  	reviewing, accepting, and publishing changes; and for deciding
  14.379  	when to feed them to Linus.  In addition, there are several
  14.380  	well known branches that people use for different purposes.
  14.381 @@ -343,14 +340,14 @@
  14.382  	that they are about to feed upstream; and so on.  Others just
  14.383  	publish a single tree.</para>
  14.384  
  14.385 -      <para>This model has two notable features.  The first is that
  14.386 +      <para id="x_472">This model has two notable features.  The first is that
  14.387  	it's <quote>pull only</quote>.  You have to ask, convince, or
  14.388  	beg another developer to take a change from you, because there
  14.389  	are almost no trees to which more than one person can push,
  14.390  	and there's no way to push changes into a tree that someone
  14.391  	else controls.</para>
  14.392  
  14.393 -      <para>The second is that it's based on reputation and acclaim.
  14.394 +      <para id="x_473">The second is that it's based on reputation and acclaim.
  14.395  	If you're an unknown, Linus will probably ignore changes from
  14.396  	you without even responding.  But a subsystem maintainer will
  14.397  	probably review them, and will likely take them if they pass
  14.398 @@ -361,14 +358,14 @@
  14.399  	Linus hasn't yet accepted, people with similar interests may
  14.400  	pull your changes regularly to keep up with your work.</para>
  14.401  
  14.402 -      <para>Reputation and acclaim don't necessarily cross subsystem
  14.403 +      <para id="x_474">Reputation and acclaim don't necessarily cross subsystem
  14.404  	or <quote>people</quote> boundaries.  If you're a respected
  14.405  	but specialised storage hacker, and you try to fix a
  14.406  	networking bug, that change will receive a level of scrutiny
  14.407  	from a network maintainer comparable to a change from a
  14.408  	complete stranger.</para>
  14.409  
  14.410 -      <para>To people who come from more orderly project backgrounds,
  14.411 +      <para id="x_475">To people who come from more orderly project backgrounds,
  14.412  	the comparatively chaotic Linux kernel development process
  14.413  	often seems completely insane.  It's subject to the whims of
  14.414  	individuals; people make sweeping changes whenever they deem
  14.415 @@ -380,13 +377,13 @@
  14.416      <sect2>
  14.417        <title>Pull-only versus shared-push collaboration</title>
  14.418  
  14.419 -      <para>A perpetual source of heat in the open source community is
  14.420 +      <para id="x_476">A perpetual source of heat in the open source community is
  14.421  	whether a development model in which people only ever pull
  14.422  	changes from others is <quote>better than</quote> one in which
  14.423  	multiple people can push changes to a shared
  14.424  	repository.</para>
  14.425  
  14.426 -      <para>Typically, the backers of the shared-push model use tools
  14.427 +      <para id="x_477">Typically, the backers of the shared-push model use tools
  14.428  	that actively enforce this approach.  If you're using a
  14.429  	centralised revision control tool such as Subversion, there's
  14.430  	no way to make a choice over which model you'll use: the tool
  14.431 @@ -394,7 +391,7 @@
  14.432  	you'll have to roll your own approach on top (such as applying
  14.433  	a patch by hand).</para>
  14.434  
  14.435 -      <para>A good distributed revision control tool, such as
  14.436 +      <para id="x_478">A good distributed revision control tool, such as
  14.437  	Mercurial, will support both models.  You and your
  14.438  	collaborators can then structure how you work together based
  14.439  	on your own needs and preferences, not on what contortions
  14.440 @@ -404,34 +401,34 @@
  14.441      <sect2>
  14.442        <title>Where collaboration meets branch management</title>
  14.443  
  14.444 -      <para>Once you and your team set up some shared repositories and
  14.445 -	start propagating changes back and forth between local and
  14.446 -	shared repos, you begin to face a related, but slightly
  14.447 -	different challenge: that of managing the multiple directions
  14.448 -	in which your team may be moving at once.  Even though this
  14.449 -	subject is intimately related to how your team collaborates,
  14.450 -	it's dense enough to merit treatment of its own, in chapter
  14.451 -	<xref linkend="chap.branch"/>.</para>
  14.452 +      <para id="x_479">Once you and your team set up some shared
  14.453 +	repositories and start propagating changes back and forth
  14.454 +	between local and shared repos, you begin to face a related,
  14.455 +	but slightly different challenge: that of managing the
  14.456 +	multiple directions in which your team may be moving at once.
  14.457 +	Even though this subject is intimately related to how your
  14.458 +	team collaborates, it's dense enough to merit treatment of its
  14.459 +	own, in <xref linkend="chap:branch"/>.</para>
  14.460  
  14.461      </sect2>
  14.462    </sect1>
  14.463    <sect1>
  14.464      <title>The technical side of sharing</title>
  14.465  
  14.466 -    <para>The remainder of this chapter is devoted to the question of
  14.467 +    <para id="x_47a">The remainder of this chapter is devoted to the question of
  14.468        serving data to your collaborators.</para>
  14.469  
  14.470    </sect1>
  14.471 -  <sect1 id="sec.collab.serve">
  14.472 +  <sect1 id="sec:collab:serve">
  14.473      <title>Informal sharing with <command role="hg-cmd">hg
  14.474  	serve</command></title>
  14.475  
  14.476 -    <para>Mercurial's <command role="hg-cmd">hg serve</command>
  14.477 +    <para id="x_47b">Mercurial's <command role="hg-cmd">hg serve</command>
  14.478        command is wonderfully suited to small, tight-knit, and
  14.479        fast-paced group environments.  It also provides a great way to
  14.480        get a feel for using Mercurial commands over a network.</para>
  14.481  
  14.482 -    <para>Run <command role="hg-cmd">hg serve</command> inside a
  14.483 +    <para id="x_47c">Run <command role="hg-cmd">hg serve</command> inside a
  14.484        repository, and in under a second it will bring up a specialised
  14.485        HTTP server; this will accept connections from any client, and
  14.486        serve up data for that repository until you terminate it.
  14.487 @@ -442,24 +439,24 @@
  14.488        on a laptop is likely to look something like
  14.489        <literal>http://my-laptop.local:8000/</literal>.</para>
  14.490  
  14.491 -    <para>The <command role="hg-cmd">hg serve</command> command is
  14.492 +    <para id="x_47d">The <command role="hg-cmd">hg serve</command> command is
  14.493        <emphasis>not</emphasis> a general-purpose web server. It can do
  14.494        only two things:</para>
  14.495      <itemizedlist>
  14.496 -      <listitem><para>Allow people to browse the history of the
  14.497 +      <listitem><para id="x_47e">Allow people to browse the history of the
  14.498  	  repository it's serving, from their normal web
  14.499  	  browsers.</para>
  14.500        </listitem>
  14.501 -      <listitem><para>Speak Mercurial's wire protocol, so that people
  14.502 +      <listitem><para id="x_47f">Speak Mercurial's wire protocol, so that people
  14.503  	  can <command role="hg-cmd">hg clone</command> or <command
  14.504  	    role="hg-cmd">hg pull</command> changes from that
  14.505  	  repository.</para>
  14.506        </listitem></itemizedlist>
  14.507 -    <para>In particular, <command role="hg-cmd">hg serve</command>
  14.508 +    <para id="x_480">In particular, <command role="hg-cmd">hg serve</command>
  14.509        won't allow remote users to <emphasis>modify</emphasis> your
  14.510        repository.  It's intended for read-only use.</para>
  14.511  
  14.512 -    <para>If you're getting started with Mercurial, there's nothing to
  14.513 +    <para id="x_481">If you're getting started with Mercurial, there's nothing to
  14.514        prevent you from using <command role="hg-cmd">hg serve</command>
  14.515        to serve up a repository on your own computer, then use commands
  14.516        like <command role="hg-cmd">hg clone</command>, <command
  14.517 @@ -471,13 +468,13 @@
  14.518      <sect2>
  14.519        <title>A few things to keep in mind</title>
  14.520  
  14.521 -      <para>Because it provides unauthenticated read access to all
  14.522 +      <para id="x_482">Because it provides unauthenticated read access to all
  14.523  	clients, you should only use <command role="hg-cmd">hg
  14.524  	  serve</command> in an environment where you either don't
  14.525  	care, or have complete control over, who can access your
  14.526  	network and pull data from your repository.</para>
  14.527  
  14.528 -      <para>The <command role="hg-cmd">hg serve</command> command
  14.529 +      <para id="x_483">The <command role="hg-cmd">hg serve</command> command
  14.530  	knows nothing about any firewall software you might have
  14.531  	installed on your system or network.  It cannot detect or
  14.532  	control your firewall software.  If other people are unable to
  14.533 @@ -486,13 +483,13 @@
  14.534  	(<emphasis>after</emphasis> you make sure that they're using
  14.535  	the correct URL) is check your firewall configuration.</para>
  14.536  
  14.537 -      <para>By default, <command role="hg-cmd">hg serve</command>
  14.538 +      <para id="x_484">By default, <command role="hg-cmd">hg serve</command>
  14.539  	listens for incoming connections on port 8000.  If another
  14.540  	process is already listening on the port you want to use, you
  14.541  	can specify a different port to listen on using the <option
  14.542  	  role="hg-opt-serve">-p</option> option.</para>
  14.543  
  14.544 -      <para>Normally, when <command role="hg-cmd">hg serve</command>
  14.545 +      <para id="x_485">Normally, when <command role="hg-cmd">hg serve</command>
  14.546  	starts, it prints no output, which can be a bit unnerving.  If
  14.547  	you'd like to confirm that it is indeed running correctly, and
  14.548  	find out what URL you should send to your collaborators, start
  14.549 @@ -501,59 +498,59 @@
  14.550  
  14.551      </sect2>
  14.552    </sect1>
  14.553 -  <sect1 id="sec.collab.ssh">
  14.554 +  <sect1 id="sec:collab:ssh">
  14.555      <title>Using the Secure Shell (ssh) protocol</title>
  14.556  
  14.557 -    <para>You can pull and push changes securely over a network
  14.558 +    <para id="x_486">You can pull and push changes securely over a network
  14.559        connection using the Secure Shell (<literal>ssh</literal>)
  14.560        protocol.  To use this successfully, you may have to do a little
  14.561        bit of configuration on the client or server sides.</para>
  14.562  
  14.563 -    <para>If you're not familiar with ssh, it's a network protocol
  14.564 +    <para id="x_487">If you're not familiar with ssh, it's a network protocol
  14.565        that lets you securely communicate with another computer.  To
  14.566        use it with Mercurial, you'll be setting up one or more user
  14.567        accounts on a server so that remote users can log in and execute
  14.568        commands.</para>
  14.569  
  14.570 -    <para>(If you <emphasis>are</emphasis> familiar with ssh, you'll
  14.571 +    <para id="x_488">(If you <emphasis>are</emphasis> familiar with ssh, you'll
  14.572        probably find some of the material that follows to be elementary
  14.573        in nature.)</para>
  14.574  
  14.575      <sect2>
  14.576        <title>How to read and write ssh URLs</title>
  14.577  
  14.578 -      <para>An ssh URL tends to look like this:</para>
  14.579 +      <para id="x_489">An ssh URL tends to look like this:</para>
  14.580        <programlisting>ssh://bos@hg.serpentine.com:22/hg/hgbook</programlisting>
  14.581        <orderedlist>
  14.582 -	<listitem><para>The <quote><literal>ssh://</literal></quote>
  14.583 +	<listitem><para id="x_48a">The <quote><literal>ssh://</literal></quote>
  14.584  	    part tells Mercurial to use the ssh protocol.</para>
  14.585  	</listitem>
  14.586 -	<listitem><para>The <quote><literal>bos@</literal></quote>
  14.587 +	<listitem><para id="x_48b">The <quote><literal>bos@</literal></quote>
  14.588  	    component indicates what username to log into the server
  14.589  	    as.  You can leave this out if the remote username is the
  14.590  	    same as your local username.</para>
  14.591  	</listitem>
  14.592 -	<listitem><para>The
  14.593 +	<listitem><para id="x_48c">The
  14.594  	    <quote><literal>hg.serpentine.com</literal></quote> gives
  14.595  	    the hostname of the server to log into.</para>
  14.596  	</listitem>
  14.597 -	<listitem><para>The <quote>:22</quote> identifies the port
  14.598 +	<listitem><para id="x_48d">The <quote>:22</quote> identifies the port
  14.599  	    number to connect to the server on.  The default port is
  14.600  	    22, so you only need to specify a colon and port number if
  14.601  	    you're <emphasis>not</emphasis> using port 22.</para>
  14.602  	</listitem>
  14.603 -	<listitem><para>The remainder of the URL is the local path to
  14.604 +	<listitem><para id="x_48e">The remainder of the URL is the local path to
  14.605  	    the repository on the server.</para>
  14.606  	</listitem></orderedlist>
  14.607  
  14.608 -      <para>There's plenty of scope for confusion with the path
  14.609 +      <para id="x_48f">There's plenty of scope for confusion with the path
  14.610  	component of ssh URLs, as there is no standard way for tools
  14.611  	to interpret it.  Some programs behave differently than others
  14.612  	when dealing with these paths. This isn't an ideal situation,
  14.613  	but it's unlikely to change.  Please read the following
  14.614  	paragraphs carefully.</para>
  14.615  
  14.616 -      <para>Mercurial treats the path to a repository on the server as
  14.617 +      <para id="x_490">Mercurial treats the path to a repository on the server as
  14.618  	relative to the remote user's home directory.  For example, if
  14.619  	user <literal>foo</literal> on the server has a home directory
  14.620  	of <filename class="directory">/home/foo</filename>, then an
  14.621 @@ -562,13 +559,13 @@
  14.622  	refers to the directory <filename
  14.623  	  class="directory">/home/foo/bar</filename>.</para>
  14.624  
  14.625 -      <para>If you want to specify a path relative to another user's
  14.626 +      <para id="x_491">If you want to specify a path relative to another user's
  14.627  	home directory, you can use a path that starts with a tilde
  14.628  	character followed by the user's name (let's call them
  14.629  	<literal>otheruser</literal>), like this.</para>
  14.630        <programlisting>ssh://server/~otheruser/hg/repo</programlisting>
  14.631  
  14.632 -      <para>And if you really want to specify an
  14.633 +      <para id="x_492">And if you really want to specify an
  14.634  	<emphasis>absolute</emphasis> path on the server, begin the
  14.635  	path component with two slashes, as in this example.</para>
  14.636        <programlisting>ssh://server//absolute/path</programlisting>
  14.637 @@ -577,7 +574,7 @@
  14.638      <sect2>
  14.639        <title>Finding an ssh client for your system</title>
  14.640  
  14.641 -      <para>Almost every Unix-like system comes with OpenSSH
  14.642 +      <para id="x_493">Almost every Unix-like system comes with OpenSSH
  14.643  	preinstalled.  If you're using such a system, run
  14.644  	<literal>which ssh</literal> to find out if the
  14.645  	<command>ssh</command> command is installed (it's usually in
  14.646 @@ -585,17 +582,17 @@
  14.647  	unlikely event that it isn't present, take a look at your
  14.648  	system documentation to figure out how to install it.</para>
  14.649  
  14.650 -      <para>On Windows, you'll first need to download a suitable ssh
  14.651 +      <para id="x_494">On Windows, you'll first need to download a suitable ssh
  14.652  	client.  There are two alternatives.</para>
  14.653        <itemizedlist>
  14.654 -	<listitem><para>Simon Tatham's excellent PuTTY package
  14.655 +	<listitem><para id="x_495">Simon Tatham's excellent PuTTY package
  14.656  	    <citation>web:putty</citation> provides a complete suite
  14.657  	    of ssh client commands.</para>
  14.658  	</listitem>
  14.659 -	<listitem><para>If you have a high tolerance for pain, you can
  14.660 +	<listitem><para id="x_496">If you have a high tolerance for pain, you can
  14.661  	    use the Cygwin port of OpenSSH.</para>
  14.662  	</listitem></itemizedlist>
  14.663 -      <para>In either case, you'll need to edit your <filename
  14.664 +      <para id="x_497">In either case, you'll need to edit your <filename
  14.665        role="special">hg.ini</filename> file to
  14.666  	tell Mercurial where to find the actual client command.  For
  14.667  	example, if you're using PuTTY, you'll need to use the
  14.668 @@ -605,7 +602,7 @@
  14.669  ssh = C:/path/to/plink.exe -ssh -i "C:/path/to/my/private/key"</programlisting>
  14.670  
  14.671        <note>
  14.672 -	<para>  The path to <command>plink</command> shouldn't contain
  14.673 +	<para id="x_498">  The path to <command>plink</command> shouldn't contain
  14.674  	  any whitespace characters, or Mercurial may not be able to
  14.675  	  run it correctly (so putting it in <filename
  14.676  	    class="directory">C:\Program Files</filename> is probably
  14.677 @@ -616,7 +613,7 @@
  14.678      <sect2>
  14.679        <title>Generating a key pair</title>
  14.680  
  14.681 -      <para>To avoid the need to repetitively type a password every
  14.682 +      <para id="x_499">To avoid the need to repetitively type a password every
  14.683  	time you need to use your ssh client, I recommend generating a
  14.684  	key pair.  On a Unix-like system, the
  14.685  	<command>ssh-keygen</command> command will do the trick. On
  14.686 @@ -624,13 +621,13 @@
  14.687  	<command>puttygen</command> command is what you'll
  14.688  	need.</para>
  14.689  
  14.690 -      <para>When you generate a key pair, it's usually
  14.691 +      <para id="x_49a">When you generate a key pair, it's usually
  14.692  	<emphasis>highly</emphasis> advisable to protect it with a
  14.693  	passphrase.  (The only time that you might not want to do this
  14.694  	is when you're using the ssh protocol for automated tasks on a
  14.695  	secure network.)</para>
  14.696  
  14.697 -      <para>Simply generating a key pair isn't enough, however.
  14.698 +      <para id="x_49b">Simply generating a key pair isn't enough, however.
  14.699  	You'll need to add the public key to the set of authorised
  14.700  	keys for whatever user you're logging in remotely as.  For
  14.701  	servers using OpenSSH (the vast majority), this will mean
  14.702 @@ -639,7 +636,7 @@
  14.703  	  role="special" class="directory">.ssh</filename>
  14.704  	directory.</para>
  14.705  
  14.706 -      <para>On a Unix-like system, your public key will have a
  14.707 +      <para id="x_49c">On a Unix-like system, your public key will have a
  14.708  	<filename>.pub</filename> extension.  If you're using
  14.709  	<command>puttygen</command> on Windows, you can save the
  14.710  	public key to a file of your choosing, or paste it from the
  14.711 @@ -650,7 +647,7 @@
  14.712      <sect2>
  14.713        <title>Using an authentication agent</title>
  14.714  
  14.715 -      <para>An authentication agent is a daemon that stores
  14.716 +      <para id="x_49d">An authentication agent is a daemon that stores
  14.717  	passphrases in memory (so it will forget passphrases if you
  14.718  	log out and log back in again). An ssh client will notice if
  14.719  	it's running, and query it for a passphrase.  If there's no
  14.720 @@ -659,14 +656,14 @@
  14.721  	every time Mercurial tries to communicate with a server on
  14.722  	your behalf (e.g. whenever you pull or push changes).</para>
  14.723  
  14.724 -      <para>The downside of storing passphrases in an agent is that
  14.725 +      <para id="x_49e">The downside of storing passphrases in an agent is that
  14.726  	it's possible for a well-prepared attacker to recover the
  14.727  	plain text of your passphrases, in some cases even if your
  14.728  	system has been power-cycled. You should make your own
  14.729  	judgment as to whether this is an acceptable risk.  It
  14.730  	certainly saves a lot of repeated typing.</para>
  14.731  
  14.732 -      <para>On Unix-like systems, the agent is called
  14.733 +      <para id="x_49f">On Unix-like systems, the agent is called
  14.734  	<command>ssh-agent</command>, and it's often run automatically
  14.735  	for you when you log in.  You'll need to use the
  14.736  	<command>ssh-add</command> command to add passphrases to the
  14.737 @@ -679,7 +676,7 @@
  14.738      <sect2>
  14.739        <title>Configuring the server side properly</title>
  14.740  
  14.741 -      <para>Because ssh can be fiddly to set up if you're new to it,
  14.742 +      <para id="x_4a0">Because ssh can be fiddly to set up if you're new to it,
  14.743  	there's a variety of things that can go wrong.  Add Mercurial
  14.744  	on top, and there's plenty more scope for head-scratching.
  14.745  	Most of these potential problems occur on the server side, not
  14.746 @@ -687,7 +684,7 @@
  14.747  	configuration working, it will usually continue to work
  14.748  	indefinitely.</para>
  14.749  
  14.750 -      <para>Before you try using Mercurial to talk to an ssh server,
  14.751 +      <para id="x_4a1">Before you try using Mercurial to talk to an ssh server,
  14.752  	it's best to make sure that you can use the normal
  14.753  	<command>ssh</command> or <command>putty</command> command to
  14.754  	talk to the server first.  If you run into problems with using
  14.755 @@ -698,29 +695,29 @@
  14.756  	<emphasis>before</emphasis> you worry about whether there's a
  14.757  	problem with Mercurial.</para>
  14.758  
  14.759 -      <para>The first thing to be sure of on the server side is that
  14.760 +      <para id="x_4a2">The first thing to be sure of on the server side is that
  14.761  	you can actually log in from another machine at all.  If you
  14.762  	can't use <command>ssh</command> or <command>putty</command>
  14.763  	to log in, the error message you get may give you a few hints
  14.764  	as to what's wrong.  The most common problems are as
  14.765  	follows.</para>
  14.766        <itemizedlist>
  14.767 -	<listitem><para>If you get a <quote>connection refused</quote>
  14.768 +	<listitem><para id="x_4a3">If you get a <quote>connection refused</quote>
  14.769  	    error, either there isn't an SSH daemon running on the
  14.770  	    server at all, or it's inaccessible due to firewall
  14.771  	    configuration.</para>
  14.772  	</listitem>
  14.773 -	<listitem><para>If you get a <quote>no route to host</quote>
  14.774 +	<listitem><para id="x_4a4">If you get a <quote>no route to host</quote>
  14.775  	    error, you either have an incorrect address for the server
  14.776  	    or a seriously locked down firewall that won't admit its
  14.777  	    existence at all.</para>
  14.778  	</listitem>
  14.779 -	<listitem><para>If you get a <quote>permission denied</quote>
  14.780 +	<listitem><para id="x_4a5">If you get a <quote>permission denied</quote>
  14.781  	    error, you may have mistyped the username on the server,
  14.782  	    or you could have mistyped your key's passphrase or the
  14.783  	    remote user's password.</para>
  14.784  	</listitem></itemizedlist>
  14.785 -      <para>In summary, if you're having trouble talking to the
  14.786 +      <para id="x_4a6">In summary, if you're having trouble talking to the
  14.787  	server's ssh daemon, first make sure that one is running at
  14.788  	all.  On many systems it will be installed, but disabled, by
  14.789  	default.  Once you're done with this step, you should then
  14.790 @@ -730,23 +727,23 @@
  14.791  	for misconfiguration until you've checked these two
  14.792  	first.</para>
  14.793  
  14.794 -      <para>If you're using an authentication agent on the client side
  14.795 +      <para id="x_4a7">If you're using an authentication agent on the client side
  14.796  	to store passphrases for your keys, you ought to be able to
  14.797  	log into the server without being prompted for a passphrase or
  14.798  	a password.  If you're prompted for a passphrase, there are a
  14.799  	few possible culprits.</para>
  14.800        <itemizedlist>
  14.801 -	<listitem><para>You might have forgotten to use
  14.802 +	<listitem><para id="x_4a8">You might have forgotten to use
  14.803  	    <command>ssh-add</command> or <command>pageant</command>
  14.804  	    to store the passphrase.</para>
  14.805  	</listitem>
  14.806 -	<listitem><para>You might have stored the passphrase for the
  14.807 +	<listitem><para id="x_4a9">You might have stored the passphrase for the
  14.808  	    wrong key.</para>
  14.809  	</listitem></itemizedlist>
  14.810 -      <para>If you're being prompted for the remote user's password,
  14.811 +      <para id="x_4aa">If you're being prompted for the remote user's password,
  14.812  	there are another few possible problems to check.</para>
  14.813        <itemizedlist>
  14.814 -	<listitem><para>Either the user's home directory or their
  14.815 +	<listitem><para id="x_4ab">Either the user's home directory or their
  14.816  	    <filename role="special" class="directory">.ssh</filename>
  14.817  	    directory might have excessively liberal permissions.  As
  14.818  	    a result, the ssh daemon will not trust or read their
  14.819 @@ -755,19 +752,19 @@
  14.820  	      role="special" class="directory">.ssh</filename>
  14.821  	    directory will often cause this symptom.</para>
  14.822  	</listitem>
  14.823 -	<listitem><para>The user's <filename
  14.824 +	<listitem><para id="x_4ac">The user's <filename
  14.825  	      role="special">authorized_keys</filename> file may have
  14.826  	    a problem. If anyone other than the user owns or can write
  14.827  	    to that file, the ssh daemon will not trust or read
  14.828  	    it.</para>
  14.829  	</listitem></itemizedlist>
  14.830  
  14.831 -      <para>In the ideal world, you should be able to run the
  14.832 +      <para id="x_4ad">In the ideal world, you should be able to run the
  14.833  	following command successfully, and it should print exactly
  14.834  	one line of output, the current date and time.</para>
  14.835        <programlisting>ssh myserver date</programlisting>
  14.836  
  14.837 -      <para>If, on your server, you have login scripts that print
  14.838 +      <para id="x_4ae">If, on your server, you have login scripts that print
  14.839  	banners or other junk even when running non-interactive
  14.840  	commands like this, you should fix them before you continue,
  14.841  	so that they only print output if they're run interactively.
  14.842 @@ -781,43 +778,43 @@
  14.843  	shell is to check the return code from the command
  14.844  	<literal>tty -s</literal>.)</para>
  14.845  
  14.846 -      <para>Once you've verified that plain old ssh is working with
  14.847 +      <para id="x_4af">Once you've verified that plain old ssh is working with
  14.848  	your server, the next step is to ensure that Mercurial runs on
  14.849  	the server.  The following command should run
  14.850  	successfully:</para>
  14.851  
  14.852        <programlisting>ssh myserver hg version</programlisting>
  14.853  
  14.854 -      <para>If you see an error message instead of normal <command
  14.855 +      <para id="x_4b0">If you see an error message instead of normal <command
  14.856  	  role="hg-cmd">hg version</command> output, this is usually
  14.857  	because you haven't installed Mercurial to <filename
  14.858  	  class="directory">/usr/bin</filename>.  Don't worry if this
  14.859  	is the case; you don't need to do that.  But you should check
  14.860  	for a few possible problems.</para>
  14.861        <itemizedlist>
  14.862 -	<listitem><para>Is Mercurial really installed on the server at
  14.863 +	<listitem><para id="x_4b1">Is Mercurial really installed on the server at
  14.864  	    all?  I know this sounds trivial, but it's worth
  14.865  	    checking!</para>
  14.866  	</listitem>
  14.867 -	<listitem><para>Maybe your shell's search path (usually set
  14.868 +	<listitem><para id="x_4b2">Maybe your shell's search path (usually set
  14.869  	    via the <envar>PATH</envar> environment variable) is
  14.870  	    simply misconfigured.</para>
  14.871  	</listitem>
  14.872 -	<listitem><para>Perhaps your <envar>PATH</envar> environment
  14.873 +	<listitem><para id="x_4b3">Perhaps your <envar>PATH</envar> environment
  14.874  	    variable is only being set to point to the location of the
  14.875  	    <command>hg</command> executable if the login session is
  14.876  	    interactive.  This can happen if you're setting the path
  14.877  	    in the wrong shell login script.  See your shell's
  14.878  	    documentation for details.</para>
  14.879  	</listitem>
  14.880 -	<listitem><para>The <envar>PYTHONPATH</envar> environment
  14.881 +	<listitem><para id="x_4b4">The <envar>PYTHONPATH</envar> environment
  14.882  	    variable may need to contain the path to the Mercurial
  14.883  	    Python modules.  It might not be set at all; it could be
  14.884  	    incorrect; or it may be set only if the login is
  14.885  	    interactive.</para>
  14.886  	</listitem></itemizedlist>
  14.887  
  14.888 -      <para>If you can run <command role="hg-cmd">hg version</command>
  14.889 +      <para id="x_4b5">If you can run <command role="hg-cmd">hg version</command>
  14.890  	over an ssh connection, well done! You've got the server and
  14.891  	client sorted out.  You should now be able to use Mercurial to
  14.892  	access repositories hosted by that username on that server.
  14.893 @@ -829,19 +826,19 @@
  14.894      <sect2>
  14.895        <title>Using compression with ssh</title>
  14.896  
  14.897 -      <para>Mercurial does not compress data when it uses the ssh
  14.898 +      <para id="x_4b6">Mercurial does not compress data when it uses the ssh
  14.899  	protocol, because the ssh protocol can transparently compress
  14.900  	data.  However, the default behaviour of ssh clients is
  14.901  	<emphasis>not</emphasis> to request compression.</para>
  14.902  
  14.903 -      <para>Over any network other than a fast LAN (even a wireless
  14.904 +      <para id="x_4b7">Over any network other than a fast LAN (even a wireless
  14.905  	network), using compression is likely to significantly speed
  14.906  	up Mercurial's network operations.  For example, over a WAN,
  14.907  	someone measured compression as reducing the amount of time
  14.908  	required to clone a particularly large repository from 51
  14.909  	minutes to 17 minutes.</para>
  14.910  
  14.911 -      <para>Both <command>ssh</command> and <command>plink</command>
  14.912 +      <para id="x_4b8">Both <command>ssh</command> and <command>plink</command>
  14.913  	accept a <option role="cmd-opt-ssh">-C</option> option which
  14.914  	turns on compression.  You can easily edit your <filename
  14.915  	  role="special">~/.hgrc</filename> to enable compression for
  14.916 @@ -849,7 +846,7 @@
  14.917        <programlisting>[ui]
  14.918  ssh = ssh -C</programlisting>
  14.919  
  14.920 -      <para>If you use <command>ssh</command>, you can configure it to
  14.921 +      <para id="x_4b9">If you use <command>ssh</command>, you can configure it to
  14.922  	always use compression when talking to your server.  To do
  14.923  	this, edit your <filename
  14.924  	  role="special">.ssh/config</filename> file (which may not
  14.925 @@ -857,7 +854,7 @@
  14.926        <programlisting>Host hg
  14.927    Compression yes
  14.928    HostName hg.example.com</programlisting>
  14.929 -      <para>This defines an alias, <literal>hg</literal>.  When you
  14.930 +      <para id="x_4ba">This defines an alias, <literal>hg</literal>.  When you
  14.931  	use it on the <command>ssh</command> command line or in a
  14.932  	Mercurial <literal>ssh</literal>-protocol URL, it will cause
  14.933  	<command>ssh</command> to connect to
  14.934 @@ -867,20 +864,20 @@
  14.935  
  14.936      </sect2>
  14.937    </sect1>
  14.938 -  <sect1 id="sec.collab.cgi">
  14.939 +  <sect1 id="sec:collab:cgi">
  14.940      <title>Serving over HTTP using CGI</title>
  14.941  
  14.942 -    <para>Depending on how ambitious you are, configuring Mercurial's
  14.943 +    <para id="x_4bb">Depending on how ambitious you are, configuring Mercurial's
  14.944        CGI interface can take anything from a few moments to several
  14.945        hours.</para>
  14.946  
  14.947 -    <para>We'll begin with the simplest of examples, and work our way
  14.948 +    <para id="x_4bc">We'll begin with the simplest of examples, and work our way
  14.949        towards a more complex configuration.  Even for the most basic
  14.950        case, you're almost certainly going to need to read and modify
  14.951        your web server's configuration.</para>
  14.952  
  14.953      <note>
  14.954 -      <para>  Configuring a web server is a complex, fiddly, and
  14.955 +      <para id="x_4bd">  Configuring a web server is a complex, fiddly, and
  14.956  	highly system-dependent activity.  I can't possibly give you
  14.957  	instructions that will cover anything like all of the cases
  14.958  	you will encounter. Please use your discretion and judgment in
  14.959 @@ -892,25 +889,25 @@
  14.960      <sect2>
  14.961        <title>Web server configuration checklist</title>
  14.962  
  14.963 -      <para>Before you continue, do take a few moments to check a few
  14.964 +      <para id="x_4be">Before you continue, do take a few moments to check a few
  14.965  	aspects of your system's setup.</para>
  14.966  
  14.967        <orderedlist>
  14.968 -	<listitem><para>Do you have a web server installed at all?
  14.969 +	<listitem><para id="x_4bf">Do you have a web server installed at all?
  14.970  	    Mac OS X ships with Apache, but many other systems may not
  14.971  	    have a web server installed.</para>
  14.972  	</listitem>
  14.973 -	<listitem><para>If you have a web server installed, is it
  14.974 +	<listitem><para id="x_4c0">If you have a web server installed, is it
  14.975  	    actually running?  On most systems, even if one is
  14.976  	    present, it will be disabled by default.</para>
  14.977  	</listitem>
  14.978 -	<listitem><para>Is your server configured to allow you to run
  14.979 +	<listitem><para id="x_4c1">Is your server configured to allow you to run
  14.980  	    CGI programs in the directory where you plan to do so?
  14.981  	    Most servers default to explicitly disabling the ability
  14.982  	    to run CGI programs.</para>
  14.983  	</listitem></orderedlist>
  14.984  
  14.985 -      <para>If you don't have a web server installed, and don't have
  14.986 +      <para id="x_4c2">If you don't have a web server installed, and don't have
  14.987  	substantial experience configuring Apache, you should consider
  14.988  	using the <literal>lighttpd</literal> web server instead of
  14.989  	Apache.  Apache has a well-deserved reputation for baroque and
  14.990 @@ -925,7 +922,7 @@
  14.991      <sect2>
  14.992        <title>Basic CGI configuration</title>
  14.993  
  14.994 -      <para>On Unix-like systems, it's common for users to have a
  14.995 +      <para id="x_4c3">On Unix-like systems, it's common for users to have a
  14.996  	subdirectory named something like <filename
  14.997  	  class="directory">public_html</filename> in their home
  14.998  	directory, from which they can serve up web pages.  A file
  14.999 @@ -933,19 +930,19 @@
 14.1000  	accessible at a URL of the form
 14.1001  	<literal>http://www.example.com/username/foo</literal>.</para>
 14.1002  
 14.1003 -      <para>To get started, find the <filename
 14.1004 +      <para id="x_4c4">To get started, find the <filename
 14.1005  	  role="special">hgweb.cgi</filename> script that should be
 14.1006  	present in your Mercurial installation.  If you can't quickly
 14.1007  	find a local copy on your system, simply download one from the
 14.1008  	master Mercurial repository at <ulink
 14.1009  	  url="http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi">http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi</ulink>.</para>
 14.1010  
 14.1011 -      <para>You'll need to copy this script into your <filename
 14.1012 +      <para id="x_4c5">You'll need to copy this script into your <filename
 14.1013  	  class="directory">public_html</filename> directory, and
 14.1014  	ensure that it's executable.</para>
 14.1015        <programlisting>cp .../hgweb.cgi ~/public_html
 14.1016  chmod 755 ~/public_html/hgweb.cgi</programlisting>
 14.1017 -      <para>The <literal>755</literal> argument to
 14.1018 +      <para id="x_4c6">The <literal>755</literal> argument to
 14.1019  	<command>chmod</command> is a little more general than just
 14.1020  	making the script executable: it ensures that the script is
 14.1021  	executable by anyone, and that <quote>group</quote> and
 14.1022 @@ -958,11 +955,11 @@
 14.1023  	must not be writable by others.</para>
 14.1024        <programlisting>chmod 755 ~/public_html</programlisting>
 14.1025  
 14.1026 -      <sect3 id="sec.collab.wtf">
 14.1027 +      <sect3 id="sec:collab:wtf">
 14.1028  	<title>What could <emphasis>possibly</emphasis> go
 14.1029  	  wrong?</title>
 14.1030  
 14.1031 -	<para>Once you've copied the CGI script into place, go into a
 14.1032 +	<para id="x_4c7">Once you've copied the CGI script into place, go into a
 14.1033  	  web browser, and try to open the URL <ulink
 14.1034  	    url="http://myhostname/
 14.1035  	    myuser/hgweb.cgi">http://myhostname/
 14.1036 @@ -976,7 +973,7 @@
 14.1037  	  fresh installation of Apache, and a user account that I
 14.1038  	  created specially to perform this exercise.</para>
 14.1039  
 14.1040 -	<para>Your web server may have per-user directories disabled.
 14.1041 +	<para id="x_4c8">Your web server may have per-user directories disabled.
 14.1042  	  If you're using Apache, search your config file for a
 14.1043  	  <literal>UserDir</literal> directive.  If there's none
 14.1044  	  present, per-user directories will be disabled.  If one
 14.1045 @@ -987,7 +984,7 @@
 14.1046  	  directory, for example <filename
 14.1047  	    class="directory">public_html</filename>.</para>
 14.1048  
 14.1049 -	<para>Your file access permissions may be too restrictive.
 14.1050 +	<para id="x_4c9">Your file access permissions may be too restrictive.
 14.1051  	  The web server must be able to traverse your home directory
 14.1052  	  and directories under your <filename
 14.1053  	    class="directory">public_html</filename> directory, and
 14.1054 @@ -997,34 +994,34 @@
 14.1055  find ~/public_html -type d -print0 | xargs -0r chmod 755
 14.1056  find ~/public_html -type f -print0 | xargs -0r chmod 644</programlisting>
 14.1057  
 14.1058 -	<para>The other possibility with permissions is that you might
 14.1059 +	<para id="x_4ca">The other possibility with permissions is that you might
 14.1060  	  get a completely empty window when you try to load the
 14.1061  	  script.  In this case, it's likely that your access
 14.1062  	  permissions are <emphasis>too permissive</emphasis>.  Apache's
 14.1063  	  <literal>suexec</literal> subsystem won't execute a script
 14.1064  	  that's group- or world-writable, for example.</para>
 14.1065  
 14.1066 -	<para>Your web server may be configured to disallow execution
 14.1067 +	<para id="x_4cb">Your web server may be configured to disallow execution
 14.1068  	  of CGI programs in your per-user web directory.  Here's
 14.1069  	  Apache's default per-user configuration from my Fedora
 14.1070  	  system.</para>
 14.1071  
 14.1072 -	<programlisting><![CDATA[&ch06-apache-config.lst;]]></programlisting>
 14.1073 -
 14.1074 -	<para>If you find a similar-looking
 14.1075 +	&ch06-apache-config.lst;
 14.1076 +
 14.1077 +	<para id="x_4cc">If you find a similar-looking
 14.1078  	  <literal>Directory</literal> group in your Apache
 14.1079  	  configuration, the directive to look at inside it is
 14.1080  	  <literal>Options</literal>. Add <literal>ExecCGI</literal>
 14.1081  	  to the end of this list if it's missing, and restart the web
 14.1082  	  server.</para>
 14.1083  
 14.1084 -	<para>If you find that Apache serves you the text of the CGI
 14.1085 +	<para id="x_4cd">If you find that Apache serves you the text of the CGI
 14.1086  	  script instead of executing it, you may need to either
 14.1087  	  uncomment (if already present) or add a directive like
 14.1088  	  this.</para>
 14.1089  	<programlisting>AddHandler cgi-script .cgi</programlisting>
 14.1090  
 14.1091 -	<para>The next possibility is that you might be served with a
 14.1092 +	<para id="x_4ce">The next possibility is that you might be served with a
 14.1093  	  colourful Python backtrace claiming that it can't import a
 14.1094  	  <literal>mercurial</literal>-related module.  This is
 14.1095  	  actually progress!  The server is now capable of executing
 14.1096 @@ -1038,7 +1035,7 @@
 14.1097  	  directions inside it to correctly set your
 14.1098  	  <envar>PYTHONPATH</envar> environment variable.</para>
 14.1099  
 14.1100 -	<para>Finally, you are <emphasis>certain</emphasis> to by
 14.1101 +	<para id="x_4cf">Finally, you are <emphasis>certain</emphasis> to by
 14.1102  	  served with another colourful Python backtrace: this one
 14.1103  	  will complain that it can't find <filename
 14.1104  	    class="directory">/path/to/repository</filename>.  Edit
 14.1105 @@ -1048,7 +1045,7 @@
 14.1106  	  with the complete path to the repository you want to serve
 14.1107  	  up.</para>
 14.1108  
 14.1109 -	<para>At this point, when you try to reload the page, you
 14.1110 +	<para id="x_4d0">At this point, when you try to reload the page, you
 14.1111  	  should be presented with a nice HTML view of your
 14.1112  	  repository's history.  Whew!</para>
 14.1113  
 14.1114 @@ -1056,7 +1053,7 @@
 14.1115        <sect3>
 14.1116  	<title>Configuring lighttpd</title>
 14.1117  
 14.1118 -	<para>To be exhaustive in my experiments, I tried configuring
 14.1119 +	<para id="x_4d1">To be exhaustive in my experiments, I tried configuring
 14.1120  	  the increasingly popular <literal>lighttpd</literal> web
 14.1121  	  server to serve the same repository as I described with
 14.1122  	  Apache above.  I had already overcome all of the problems I
 14.1123 @@ -1066,7 +1063,7 @@
 14.1124  	    role="special">hgweb.cgi</filename> script was properly
 14.1125  	  edited.</para>
 14.1126  
 14.1127 -	<para>Once I had Apache running, getting
 14.1128 +	<para id="x_4d2">Once I had Apache running, getting
 14.1129  	  <literal>lighttpd</literal> to serve the repository was a
 14.1130  	  snap (in other words, even if you're trying to use
 14.1131  	  <literal>lighttpd</literal>, you should read the Apache
 14.1132 @@ -1078,7 +1075,7 @@
 14.1133  	  end of the config file, to configure these modules.</para>
 14.1134  	<programlisting>userdir.path = "public_html"
 14.1135  cgi.assign = (".cgi" =&gt; "" )</programlisting>
 14.1136 -	<para>With this done, <literal>lighttpd</literal> ran
 14.1137 +	<para id="x_4d3">With this done, <literal>lighttpd</literal> ran
 14.1138  	  immediately for me.  If I had configured
 14.1139  	  <literal>lighttpd</literal> before Apache, I'd almost
 14.1140  	  certainly have run into many of the same system-level
 14.1141 @@ -1093,7 +1090,7 @@
 14.1142      <sect2>
 14.1143        <title>Sharing multiple repositories with one CGI script</title>
 14.1144  
 14.1145 -      <para>The <filename role="special">hgweb.cgi</filename> script
 14.1146 +      <para id="x_4d4">The <filename role="special">hgweb.cgi</filename> script
 14.1147  	only lets you publish a single repository, which is an
 14.1148  	annoying restriction.  If you want to publish more than one
 14.1149  	without wracking yourself with multiple copies of the same
 14.1150 @@ -1101,7 +1098,7 @@
 14.1151  	the <filename role="special">hgwebdir.cgi</filename>
 14.1152  	script.</para>
 14.1153  
 14.1154 -      <para>The procedure to configure <filename
 14.1155 +      <para id="x_4d5">The procedure to configure <filename
 14.1156  	  role="special">hgwebdir.cgi</filename> is only a little more
 14.1157  	involved than for <filename
 14.1158  	  role="special">hgweb.cgi</filename>.  First, you must obtain
 14.1159 @@ -1109,21 +1106,23 @@
 14.1160  	download a copy from the master Mercurial repository at <ulink
 14.1161  	  url="http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi">http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi</ulink>.</para>
 14.1162  
 14.1163 -      <para>You'll need to copy this script into your <filename
 14.1164 +      <para id="x_4d6">You'll need to copy this script into your <filename
 14.1165  	  class="directory">public_html</filename> directory, and
 14.1166  	ensure that it's executable.</para>
 14.1167 +
 14.1168        <programlisting>cp .../hgwebdir.cgi ~/public_html
 14.1169  chmod 755 ~/public_html ~/public_html/hgwebdir.cgi</programlisting>
 14.1170 -      <para>With basic configuration out of the way, try to visit
 14.1171 -	<ulink url="http://myhostname/
 14.1172 +
 14.1173 +      <para id="x_4d7">With basic configuration out of the way, try to
 14.1174 +	visit <ulink url="http://myhostname/
 14.1175  	  myuser/hgwebdir.cgi">http://myhostname/
 14.1176  	  myuser/hgwebdir.cgi</ulink> in your browser.  It should
 14.1177  	display an empty list of repositories.  If you get a blank
 14.1178  	window or error message, try walking through the list of
 14.1179 -	potential problems in section <xref
 14.1180 -	  linkend="sec.collab.wtf"/>.</para>
 14.1181 -
 14.1182 -      <para>The <filename role="special">hgwebdir.cgi</filename>
 14.1183 +	potential problems in <xref
 14.1184 +	  linkend="sec:collab:wtf"/>.</para>
 14.1185 +
 14.1186 +      <para id="x_4d8">The <filename role="special">hgwebdir.cgi</filename>
 14.1187  	script relies on an external configuration file.  By default,
 14.1188  	it searches for a file named <filename
 14.1189  	  role="special">hgweb.config</filename> in the same directory
 14.1190 @@ -1133,7 +1132,7 @@
 14.1191  	<literal>ConfigParser</literal>
 14.1192  	<citation>web:configparser</citation> module.</para>
 14.1193  
 14.1194 -      <para>The easiest way to configure <filename
 14.1195 +      <para id="x_4d9">The easiest way to configure <filename
 14.1196  	  role="special">hgwebdir.cgi</filename> is with a section
 14.1197  	named <literal>collections</literal>.  This will automatically
 14.1198  	publish <emphasis>every</emphasis> repository under the
 14.1199 @@ -1141,7 +1140,7 @@
 14.1200  	this:</para>
 14.1201        <programlisting>[collections]
 14.1202  /my/root = /my/root</programlisting>
 14.1203 -      <para>Mercurial interprets this by looking at the directory name
 14.1204 +      <para id="x_4da">Mercurial interprets this by looking at the directory name
 14.1205  	on the <emphasis>right</emphasis> hand side of the
 14.1206  	<quote><literal>=</literal></quote> sign; finding repositories
 14.1207  	in that directory hierarchy; and using the text on the
 14.1208 @@ -1150,7 +1149,7 @@
 14.1209  	remaining component of a path after this stripping has
 14.1210  	occurred is called a <quote>virtual path</quote>.</para>
 14.1211  
 14.1212 -      <para>Given the example above, if we have a repository whose
 14.1213 +      <para id="x_4db">Given the example above, if we have a repository whose
 14.1214  	local path is <filename
 14.1215  	  class="directory">/my/root/this/repo</filename>, the CGI
 14.1216  	script will strip the leading <filename
 14.1217 @@ -1164,7 +1163,7 @@
 14.1218  	  myuser/hgwebdir.cgi/this/repo">http://myhostname/
 14.1219  	  myuser/hgwebdir.cgi/this/repo</ulink>.</para>
 14.1220  
 14.1221 -      <para>If we replace <filename
 14.1222 +      <para id="x_4dc">If we replace <filename
 14.1223  	  class="directory">/my/root</filename> on the left hand side
 14.1224  	of this example with <filename
 14.1225  	  class="directory">/my</filename>, then <filename
 14.1226 @@ -1174,13 +1173,13 @@
 14.1227  	  class="directory">root/this/repo</filename> instead of
 14.1228  	<filename class="directory">this/repo</filename>.</para>
 14.1229  
 14.1230 -      <para>The <filename role="special">hgwebdir.cgi</filename>
 14.1231 +      <para id="x_4dd">The <filename role="special">hgwebdir.cgi</filename>
 14.1232  	script will recursively search each directory listed in the
 14.1233  	<literal>collections</literal> section of its configuration
 14.1234  	file, but it will <literal>not</literal> recurse into the
 14.1235  	repositories it finds.</para>
 14.1236  
 14.1237 -      <para>The <literal>collections</literal> mechanism makes it easy
 14.1238 +      <para id="x_4de">The <literal>collections</literal> mechanism makes it easy
 14.1239  	to publish many repositories in a <quote>fire and
 14.1240  	  forget</quote> manner.  You only need to set up the CGI
 14.1241  	script and configuration file one time.  Afterwards, you can
 14.1242 @@ -1193,7 +1192,7 @@
 14.1243  	<title>Explicitly specifying which repositories to
 14.1244  	  publish</title>
 14.1245  
 14.1246 -	<para>In addition to the <literal>collections</literal>
 14.1247 +	<para id="x_4df">In addition to the <literal>collections</literal>
 14.1248  	  mechanism, the <filename
 14.1249  	    role="special">hgwebdir.cgi</filename> script allows you
 14.1250  	  to publish a specific list of repositories.  To do so,
 14.1251 @@ -1202,20 +1201,20 @@
 14.1252  	<programlisting>[paths]
 14.1253  repo1 = /my/path/to/some/repo
 14.1254  repo2 = /some/path/to/another</programlisting>
 14.1255 -	<para>In this case, the virtual path (the component that will
 14.1256 +	<para id="x_4e0">In this case, the virtual path (the component that will
 14.1257  	  appear in a URL) is on the left hand side of each
 14.1258  	  definition, while the path to the repository is on the
 14.1259  	  right.  Notice that there does not need to be any
 14.1260  	  relationship between the virtual path you choose and the
 14.1261  	  location of a repository in your filesystem.</para>
 14.1262  
 14.1263 -	<para>If you wish, you can use both the
 14.1264 +	<para id="x_4e1">If you wish, you can use both the
 14.1265  	  <literal>collections</literal> and <literal>paths</literal>
 14.1266  	  mechanisms simultaneously in a single configuration
 14.1267  	  file.</para>
 14.1268  
 14.1269  	<note>
 14.1270 -	  <para>  If multiple repositories have the same virtual path,
 14.1271 +	  <para id="x_4e2">  If multiple repositories have the same virtual path,
 14.1272  	    <filename role="special">hgwebdir.cgi</filename> will not
 14.1273  	    report an error.  Instead, it will behave
 14.1274  	    unpredictably.</para>
 14.1275 @@ -1226,12 +1225,12 @@
 14.1276      <sect2>
 14.1277        <title>Downloading source archives</title>
 14.1278  
 14.1279 -      <para>Mercurial's web interface lets users download an archive
 14.1280 +      <para id="x_4e3">Mercurial's web interface lets users download an archive
 14.1281  	of any revision.  This archive will contain a snapshot of the
 14.1282  	working directory as of that revision, but it will not contain
 14.1283  	a copy of the repository data.</para>
 14.1284  
 14.1285 -      <para>By default, this feature is not enabled.  To enable it,
 14.1286 +      <para id="x_4e4">By default, this feature is not enabled.  To enable it,
 14.1287  	you'll need to add an <envar
 14.1288  	  role="rc-item-web">allow_archive</envar> item to the
 14.1289  	<literal role="rc-web">web</literal> section of your <filename
 14.1290 @@ -1241,7 +1240,7 @@
 14.1291      <sect2>
 14.1292        <title>Web configuration options</title>
 14.1293  
 14.1294 -      <para>Mercurial's web interfaces (the <command role="hg-cmd">hg
 14.1295 +      <para id="x_4e5">Mercurial's web interfaces (the <command role="hg-cmd">hg
 14.1296  	  serve</command> command, and the <filename
 14.1297  	  role="special">hgweb.cgi</filename> and <filename
 14.1298  	  role="special">hgwebdir.cgi</filename> scripts) have a
 14.1299 @@ -1249,7 +1248,7 @@
 14.1300  	belong in a section named <literal
 14.1301  	  role="rc-web">web</literal>.</para>
 14.1302        <itemizedlist>
 14.1303 -	<listitem><para><envar
 14.1304 +	<listitem><para id="x_4e6"><envar
 14.1305  	      role="rc-item-web">allow_archive</envar>: Determines
 14.1306  	    which (if any) archive download mechanisms Mercurial
 14.1307  	    supports.  If you enable this feature, users of the web
 14.1308 @@ -1258,30 +1257,30 @@
 14.1309  	    archive feature, this item must take the form of a
 14.1310  	    sequence of words drawn from the list below.</para>
 14.1311  	  <itemizedlist>
 14.1312 -	    <listitem><para><literal>bz2</literal>: A
 14.1313 +	    <listitem><para id="x_4e7"><literal>bz2</literal>: A
 14.1314  		<command>tar</command> archive, compressed using
 14.1315  		<literal>bzip2</literal> compression.  This has the
 14.1316  		best compression ratio, but uses the most CPU time on
 14.1317  		the server.</para>
 14.1318  	    </listitem>
 14.1319 -	    <listitem><para><literal>gz</literal>: A
 14.1320 +	    <listitem><para id="x_4e8"><literal>gz</literal>: A
 14.1321  		<command>tar</command> archive, compressed using
 14.1322  		<literal>gzip</literal> compression.</para>
 14.1323  	    </listitem>
 14.1324 -	    <listitem><para><literal>zip</literal>: A
 14.1325 +	    <listitem><para id="x_4e9"><literal>zip</literal>: A
 14.1326  		<command>zip</command> archive, compressed using LZW
 14.1327  		compression.  This format has the worst compression
 14.1328  		ratio, but is widely used in the Windows world.</para>
 14.1329  	    </listitem>
 14.1330  	  </itemizedlist>
 14.1331 -	  <para>  If you provide an empty list, or don't have an
 14.1332 +	  <para id="x_4ea">  If you provide an empty list, or don't have an
 14.1333  	    <envar role="rc-item-web">allow_archive</envar> entry at
 14.1334  	    all, this feature will be disabled.  Here is an example of
 14.1335  	    how to enable all three supported formats.</para>
 14.1336  	  <programlisting>[web]
 14.1337  allow_archive = bz2 gz zip</programlisting>
 14.1338  	</listitem>
 14.1339 -	<listitem><para><envar role="rc-item-web">allowpull</envar>:
 14.1340 +	<listitem><para id="x_4eb"><envar role="rc-item-web">allowpull</envar>:
 14.1341  	    Boolean.  Determines whether the web interface allows
 14.1342  	    remote users to <command role="hg-cmd">hg pull</command>
 14.1343  	    and <command role="hg-cmd">hg clone</command> this
 14.1344 @@ -1290,7 +1289,7 @@
 14.1345  	    <quote>human-oriented</quote> portion of the web interface
 14.1346  	    is available.</para>
 14.1347  	</listitem>
 14.1348 -	<listitem><para><envar role="rc-item-web">contact</envar>:
 14.1349 +	<listitem><para id="x_4ec"><envar role="rc-item-web">contact</envar>:
 14.1350  	    String.  A free-form (but preferably brief) string
 14.1351  	    identifying the person or group in charge of the
 14.1352  	    repository.  This often contains the name and email
 14.1353 @@ -1301,38 +1300,39 @@
 14.1354  	      role="special">~/.hgrc</filename> if every repository
 14.1355  	    has a single maintainer.</para>
 14.1356  	</listitem>
 14.1357 -	<listitem><para><envar role="rc-item-web">maxchanges</envar>:
 14.1358 +	<listitem><para id="x_4ed"><envar role="rc-item-web">maxchanges</envar>:
 14.1359  	    Integer.  The default maximum number of changesets to
 14.1360  	    display in a single page of output.</para>
 14.1361  	</listitem>
 14.1362 -	<listitem><para><envar role="rc-item-web">maxfiles</envar>:
 14.1363 +	<listitem><para id="x_4ee"><envar role="rc-item-web">maxfiles</envar>:
 14.1364  	    Integer.  The default maximum number of modified files to
 14.1365  	    display in a single page of output.</para>
 14.1366  	</listitem>
 14.1367 -	<listitem><para><envar role="rc-item-web">stripes</envar>:
 14.1368 +	<listitem><para id="x_4ef"><envar role="rc-item-web">stripes</envar>:
 14.1369  	    Integer.  If the web interface displays alternating
 14.1370  	    <quote>stripes</quote> to make it easier to visually align
 14.1371  	    rows when you are looking at a table, this number controls
 14.1372  	    the number of rows in each stripe.</para>
 14.1373  	</listitem>
 14.1374 -	<listitem><para><envar role="rc-item-web">style</envar>:
 14.1375 -	    Controls the template Mercurial uses to display the web
 14.1376 -	    interface.  Mercurial ships with two web templates, named
 14.1377 +	<listitem><para id="x_4f0"><envar
 14.1378 +	      role="rc-item-web">style</envar>: Controls the template
 14.1379 +	    Mercurial uses to display the web interface.  Mercurial
 14.1380 +	    ships with two web templates, named
 14.1381  	    <literal>default</literal> and <literal>gitweb</literal>
 14.1382  	    (the latter is much more visually attractive).  You can
 14.1383 -	    also specify a custom template of your own; see chapter
 14.1384 -	    <xref linkend="chap.template"/> for details.
 14.1385 -	    Here, you can see how to enable the
 14.1386 -	    <literal>gitweb</literal> style.</para>
 14.1387 +	    also specify a custom template of your own; see 
 14.1388 +	    <xref linkend="chap:template"/> for details. Here, you can
 14.1389 +	    see how to enable the <literal>gitweb</literal>
 14.1390 +	    style.</para>
 14.1391  	  <programlisting>[web]
 14.1392  style = gitweb</programlisting>
 14.1393  	</listitem>
 14.1394 -	<listitem><para><envar role="rc-item-web">templates</envar>:
 14.1395 +	<listitem><para id="x_4f1"><envar role="rc-item-web">templates</envar>:
 14.1396  	    Path.  The directory in which to search for template
 14.1397  	    files.  By default, Mercurial searches in the directory in
 14.1398  	    which it was installed.</para>
 14.1399  	</listitem></itemizedlist>
 14.1400 -      <para>If you are using <filename
 14.1401 +      <para id="x_4f2">If you are using <filename
 14.1402  	  role="special">hgwebdir.cgi</filename>, you can place a few
 14.1403  	configuration items in a <literal role="rc-web">web</literal>
 14.1404  	section of the <filename
 14.1405 @@ -1345,17 +1345,17 @@
 14.1406        <sect3>
 14.1407  	<title>Options specific to an individual repository</title>
 14.1408  
 14.1409 -	<para>A few <literal role="rc-web">web</literal> configuration
 14.1410 +	<para id="x_4f3">A few <literal role="rc-web">web</literal> configuration
 14.1411  	  items ought to be placed in a repository's local <filename
 14.1412  	    role="special">.hg/hgrc</filename>, rather than a user's
 14.1413  	  or global <filename role="special">~/.hgrc</filename>.</para>
 14.1414  	<itemizedlist>
 14.1415 -	  <listitem><para><envar
 14.1416 +	  <listitem><para id="x_4f4"><envar
 14.1417  		role="rc-item-web">description</envar>: String.  A
 14.1418  	      free-form (but preferably brief) string that describes
 14.1419  	      the contents or purpose of the repository.</para>
 14.1420  	  </listitem>
 14.1421 -	  <listitem><para><envar role="rc-item-web">name</envar>:
 14.1422 +	  <listitem><para id="x_4f5"><envar role="rc-item-web">name</envar>:
 14.1423  	      String.  The name to use for the repository in the web
 14.1424  	      interface.  This overrides the default name, which is
 14.1425  	      the last component of the repository's path.</para>
 14.1426 @@ -1366,13 +1366,13 @@
 14.1427  	<title>Options specific to the <command role="hg-cmd">hg
 14.1428  	    serve</command> command</title>
 14.1429  
 14.1430 -	<para>Some of the items in the <literal
 14.1431 +	<para id="x_4f6">Some of the items in the <literal
 14.1432  	    role="rc-web">web</literal> section of a <filename
 14.1433  	    role="special">~/.hgrc</filename> file are only for use
 14.1434  	  with the <command role="hg-cmd">hg serve</command>
 14.1435  	  command.</para>
 14.1436  	<itemizedlist>
 14.1437 -	  <listitem><para><envar role="rc-item-web">accesslog</envar>:
 14.1438 +	  <listitem><para id="x_4f7"><envar role="rc-item-web">accesslog</envar>:
 14.1439  	      Path.  The name of a file into which to write an access
 14.1440  	      log.  By default, the <command role="hg-cmd">hg
 14.1441  		serve</command> command writes this information to
 14.1442 @@ -1380,22 +1380,22 @@
 14.1443  	      in the standard <quote>combined</quote> file format used
 14.1444  	      by almost all web servers.</para>
 14.1445  	  </listitem>
 14.1446 -	  <listitem><para><envar role="rc-item-web">address</envar>:
 14.1447 +	  <listitem><para id="x_4f8"><envar role="rc-item-web">address</envar>:
 14.1448  	      String.  The local address on which the server should
 14.1449  	      listen for incoming connections.  By default, the server
 14.1450  	      listens on all addresses.</para>
 14.1451  	  </listitem>
 14.1452 -	  <listitem><para><envar role="rc-item-web">errorlog</envar>:
 14.1453 +	  <listitem><para id="x_4f9"><envar role="rc-item-web">errorlog</envar>:
 14.1454  	      Path.  The name of a file into which to write an error
 14.1455  	      log.  By default, the <command role="hg-cmd">hg
 14.1456  		serve</command> command writes this information to
 14.1457  	      standard error, not to a file.</para>
 14.1458  	  </listitem>
 14.1459 -	  <listitem><para><envar role="rc-item-web">ipv6</envar>:
 14.1460 +	  <listitem><para id="x_4fa"><envar role="rc-item-web">ipv6</envar>:
 14.1461  	      Boolean.  Whether to use the IPv6 protocol. By default,
 14.1462  	      IPv6 is not used.</para>
 14.1463  	  </listitem>
 14.1464 -	  <listitem><para><envar role="rc-item-web">port</envar>:
 14.1465 +	  <listitem><para id="x_4fb"><envar role="rc-item-web">port</envar>:
 14.1466  	      Integer.  The TCP port number on which the server should
 14.1467  	      listen.  The default port number used is 8000.</para>
 14.1468  	  </listitem></itemizedlist>
 14.1469 @@ -1406,14 +1406,14 @@
 14.1470  	    role="special">~/.hgrc</filename> file to add <literal
 14.1471  	    role="rc-web">web</literal> items to</title>
 14.1472  
 14.1473 -	<para>It is important to remember that a web server like
 14.1474 +	<para id="x_4fc">It is important to remember that a web server like
 14.1475  	  Apache or <literal>lighttpd</literal> will run under a user
 14.1476  	  ID that is different to yours. CGI scripts run by your
 14.1477  	  server, such as <filename
 14.1478  	    role="special">hgweb.cgi</filename>, will usually also run
 14.1479  	  under that user ID.</para>
 14.1480  
 14.1481 -	<para>If you add <literal role="rc-web">web</literal> items to
 14.1482 +	<para id="x_4fd">If you add <literal role="rc-web">web</literal> items to
 14.1483  	  your own personal <filename role="special">~/.hgrc</filename> file, CGI scripts won't read that
 14.1484  	  <filename role="special">~/.hgrc</filename> file.  Those
 14.1485  	  settings will thus only affect the behaviour of the <command
    15.1 --- a/en/ch06-filenames.xml	Fri Mar 20 17:17:55 2009 +0800
    15.2 +++ b/en/ch06-filenames.xml	Mon Mar 30 16:23:33 2009 +0800
    15.3 @@ -1,6 +1,6 @@
    15.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    15.5  
    15.6 -<chapter id="chap.names">
    15.7 +<chapter id="chap:names">
    15.8    <?dbhtml filename="file-names-and-pattern-matching.html"?>
    15.9    <title>File names and pattern matching</title>
   15.10  
   15.11 @@ -274,7 +274,7 @@
   15.12      <para id="x_569">XXX.</para>
   15.13  
   15.14    </sect1>
   15.15 -  <sect1 id="sec.names.case">
   15.16 +  <sect1 id="sec:names:case">
   15.17      <title>Case sensitivity</title>
   15.18  
   15.19      <para id="x_56a">If you're working in a mixed development environment that
    16.1 --- a/en/ch07-branch.xml	Fri Mar 20 17:17:55 2009 +0800
    16.2 +++ b/en/ch07-branch.xml	Mon Mar 30 16:23:33 2009 +0800
    16.3 @@ -1,6 +1,6 @@
    16.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    16.5  
    16.6 -<chapter id="chap.branch">
    16.7 +<chapter id="chap:branch">
    16.8    <?dbhtml filename="managing-releases-and-branchy-development.html"?>
    16.9    <title>Managing releases and branchy development</title>
   16.10  
    17.1 --- a/en/ch08-undo.xml	Fri Mar 20 17:17:55 2009 +0800
    17.2 +++ b/en/ch08-undo.xml	Mon Mar 30 16:23:33 2009 +0800
    17.3 @@ -1,10 +1,10 @@
    17.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    17.5  
    17.6 -<chapter id="chap.undo">
    17.7 +<chapter id="chap:undo">
    17.8    <?dbhtml filename="finding-and-fixing-mistakes.html"?>
    17.9    <title>Finding and fixing mistakes</title>
   17.10  
   17.11 -  <para>To err might be human, but to really handle the consequences
   17.12 +  <para id="x_d2">To err might be human, but to really handle the consequences
   17.13      well takes a top-notch revision control system.  In this chapter,
   17.14      we'll discuss some of the techniques you can use when you find
   17.15      that a problem has crept into your project.  Mercurial has some
   17.16 @@ -17,7 +17,7 @@
   17.17      <sect2>
   17.18        <title>The accidental commit</title>
   17.19  
   17.20 -      <para>I have the occasional but persistent problem of typing
   17.21 +      <para id="x_d3">I have the occasional but persistent problem of typing
   17.22  	rather more quickly than I can think, which sometimes results
   17.23  	in me committing a changeset that is either incomplete or
   17.24  	plain wrong.  In my case, the usual kind of incomplete
   17.25 @@ -27,33 +27,33 @@
   17.26  	less annoying.</para>
   17.27  
   17.28      </sect2>
   17.29 -    <sect2 id="sec.undo.rollback">
   17.30 +    <sect2 id="sec:undo:rollback">
   17.31        <title>Rolling back a transaction</title>
   17.32  
   17.33 -      <para>In section <xref linkend="sec.concepts.txn"/>, I mentioned
   17.34 -	that Mercurial treats each modification of a repository as a
   17.35 -	<emphasis>transaction</emphasis>.  Every time you commit a
   17.36 -	changeset or pull changes from another repository, Mercurial
   17.37 -	remembers what you did.  You can undo, or <emphasis>roll
   17.38 -	  back</emphasis>, exactly one of these actions using the
   17.39 -	<command role="hg-cmd">hg rollback</command> command.  (See
   17.40 -	section <xref linkend="sec.undo.rollback-after-push"/> for an
   17.41 -	important caveat about the use of this command.)</para>
   17.42 -
   17.43 -      <para>Here's a mistake that I often find myself making:
   17.44 +      <para id="x_d4">In <xref linkend="sec:concepts:txn"/>, I
   17.45 +	mentioned that Mercurial treats each modification of a
   17.46 +	repository as a <emphasis>transaction</emphasis>.  Every time
   17.47 +	you commit a changeset or pull changes from another
   17.48 +	repository, Mercurial remembers what you did.  You can undo,
   17.49 +	or <emphasis>roll back</emphasis>, exactly one of these
   17.50 +	actions using the <command role="hg-cmd">hg rollback</command>
   17.51 +	command.  (See <xref linkend="sec:undo:rollback-after-push"/>
   17.52 +	for an important caveat about the use of this command.)</para>
   17.53 +
   17.54 +      <para id="x_d5">Here's a mistake that I often find myself making:
   17.55  	committing a change in which I've created a new file, but
   17.56  	forgotten to <command role="hg-cmd">hg add</command>
   17.57  	it.</para>
   17.58  
   17.59        &interaction.rollback.commit;
   17.60  
   17.61 -      <para>Looking at the output of <command role="hg-cmd">hg
   17.62 +      <para id="x_d6">Looking at the output of <command role="hg-cmd">hg
   17.63  	  status</command> after the commit immediately confirms the
   17.64  	error.</para>
   17.65  
   17.66        &interaction.rollback.status;
   17.67  
   17.68 -      <para>The commit captured the changes to the file
   17.69 +      <para id="x_d7">The commit captured the changes to the file
   17.70  	<filename>a</filename>, but not the new file
   17.71  	<filename>b</filename>.  If I were to push this changeset to a
   17.72  	repository that I shared with a colleague, the chances are
   17.73 @@ -62,14 +62,14 @@
   17.74  	repository when they pulled my changes.  I would thus become
   17.75  	the object of some indignation.</para>
   17.76  
   17.77 -      <para>However, luck is with me&emdash;I've caught my error
   17.78 +      <para id="x_d8">However, luck is with me&emdash;I've caught my error
   17.79  	before I pushed the changeset.  I use the <command
   17.80  	  role="hg-cmd">hg rollback</command> command, and Mercurial
   17.81  	makes that last changeset vanish.</para>
   17.82  
   17.83        &interaction.rollback.rollback;
   17.84  
   17.85 -      <para>Notice that the changeset is no longer present in the
   17.86 +      <para id="x_d9">Notice that the changeset is no longer present in the
   17.87  	repository's history, and the working directory once again
   17.88  	thinks that the file <filename>a</filename> is modified.  The
   17.89  	commit and rollback have left the working directory exactly as
   17.90 @@ -84,14 +84,14 @@
   17.91      <sect2>
   17.92        <title>The erroneous pull</title>
   17.93  
   17.94 -      <para>It's common practice with Mercurial to maintain separate
   17.95 +      <para id="x_da">It's common practice with Mercurial to maintain separate
   17.96  	development branches of a project in different repositories.
   17.97  	Your development team might have one shared repository for
   17.98  	your project's <quote>0.9</quote> release, and another,
   17.99  	containing different changes, for the <quote>1.0</quote>
  17.100  	release.</para>
  17.101  
  17.102 -      <para>Given this, you can imagine that the consequences could be
  17.103 +      <para id="x_db">Given this, you can imagine that the consequences could be
  17.104  	messy if you had a local <quote>0.9</quote> repository, and
  17.105  	accidentally pulled changes from the shared <quote>1.0</quote>
  17.106  	repository into it.  At worst, you could be paying
  17.107 @@ -103,7 +103,7 @@
  17.108  	see it pull a suspiciously large number of changes into the
  17.109  	repository.</para>
  17.110  
  17.111 -      <para>The <command role="hg-cmd">hg rollback</command> command
  17.112 +      <para id="x_dc">The <command role="hg-cmd">hg rollback</command> command
  17.113  	will work nicely to expunge all of the changesets that you
  17.114  	just pulled.  Mercurial groups all changes from one <command
  17.115  	  role="hg-cmd">hg pull</command> into a single transaction,
  17.116 @@ -111,10 +111,10 @@
  17.117  	need to undo this mistake.</para>
  17.118  
  17.119      </sect2>
  17.120 -    <sect2 id="sec.undo.rollback-after-push">
  17.121 +    <sect2 id="sec:undo:rollback-after-push">
  17.122        <title>Rolling back is useless once you've pushed</title>
  17.123  
  17.124 -      <para>The value of the <command role="hg-cmd">hg
  17.125 +      <para id="x_dd">The value of the <command role="hg-cmd">hg
  17.126  	  rollback</command> command drops to zero once you've pushed
  17.127  	your changes to another repository.  Rolling back a change
  17.128  	makes it disappear entirely, but <emphasis>only</emphasis> in
  17.129 @@ -123,7 +123,7 @@
  17.130  	eliminates history, there's no way for the disappearance of a
  17.131  	change to propagate between repositories.</para>
  17.132  
  17.133 -      <para>If you've pushed a change to another
  17.134 +      <para id="x_de">If you've pushed a change to another
  17.135  	repository&emdash;particularly if it's a shared
  17.136  	repository&emdash;it has essentially <quote>escaped into the
  17.137  	  wild,</quote> and you'll have to recover from your mistake
  17.138 @@ -132,7 +132,7 @@
  17.139  	you pushed to, is that the changeset will reappear in your
  17.140  	repository.</para>
  17.141  
  17.142 -      <para>(If you absolutely know for sure that the change you want
  17.143 +      <para id="x_df">(If you absolutely know for sure that the change you want
  17.144  	to roll back is the most recent change in the repository that
  17.145  	you pushed to, <emphasis>and</emphasis> you know that nobody
  17.146  	else could have pulled it from that repository, you can roll
  17.147 @@ -146,7 +146,7 @@
  17.148      <sect2>
  17.149        <title>You can only roll back once</title>
  17.150  
  17.151 -      <para>Mercurial stores exactly one transaction in its
  17.152 +      <para id="x_e0">Mercurial stores exactly one transaction in its
  17.153  	transaction log; that transaction is the most recent one that
  17.154  	occurred in the repository. This means that you can only roll
  17.155  	back one transaction.  If you expect to be able to roll back
  17.156 @@ -155,7 +155,7 @@
  17.157  
  17.158        &interaction.rollback.twice;
  17.159  
  17.160 -      <para>Once you've rolled back one transaction in a repository,
  17.161 +      <para id="x_e1">Once you've rolled back one transaction in a repository,
  17.162  	you can't roll back again in that repository until you perform
  17.163  	another commit or pull.</para>
  17.164  
  17.165 @@ -164,7 +164,7 @@
  17.166    <sect1>
  17.167      <title>Reverting the mistaken change</title>
  17.168  
  17.169 -    <para>If you make a modification to a file, and decide that you
  17.170 +    <para id="x_e2">If you make a modification to a file, and decide that you
  17.171        really didn't want to change the file at all, and you haven't
  17.172        yet committed your changes, the <command role="hg-cmd">hg
  17.173  	revert</command> command is the one you'll need.  It looks at
  17.174 @@ -173,57 +173,57 @@
  17.175        changeset. (That's a long-winded way of saying that, in the
  17.176        normal case, it undoes your modifications.)</para>
  17.177  
  17.178 -    <para>Let's illustrate how the <command role="hg-cmd">hg
  17.179 +    <para id="x_e3">Let's illustrate how the <command role="hg-cmd">hg
  17.180  	revert</command> command works with yet another small example.
  17.181        We'll begin by modifying a file that Mercurial is already
  17.182        tracking.</para>
  17.183  
  17.184      &interaction.daily.revert.modify;
  17.185  
  17.186 -    <para>If we don't
  17.187 +    <para id="x_e4">If we don't
  17.188        want that change, we can simply <command role="hg-cmd">hg
  17.189  	revert</command> the file.</para>
  17.190  
  17.191        &interaction.daily.revert.unmodify;
  17.192  
  17.193 -    <para>The <command role="hg-cmd">hg revert</command> command
  17.194 +    <para id="x_e5">The <command role="hg-cmd">hg revert</command> command
  17.195        provides us with an extra degree of safety by saving our
  17.196        modified file with a <filename>.orig</filename>
  17.197        extension.</para>
  17.198  
  17.199      &interaction.daily.revert.status;
  17.200  
  17.201 -    <para>Here is a summary of the cases that the <command
  17.202 +    <para id="x_e6">Here is a summary of the cases that the <command
  17.203  	role="hg-cmd">hg revert</command> command can deal with.  We
  17.204        will describe each of these in more detail in the section that
  17.205        follows.</para>
  17.206      <itemizedlist>
  17.207 -      <listitem><para>If you modify a file, it will restore the file
  17.208 +      <listitem><para id="x_e7">If you modify a file, it will restore the file
  17.209  	  to its unmodified state.</para>
  17.210        </listitem>
  17.211 -      <listitem><para>If you <command role="hg-cmd">hg add</command> a
  17.212 +      <listitem><para id="x_e8">If you <command role="hg-cmd">hg add</command> a
  17.213  	  file, it will undo the <quote>added</quote> state of the
  17.214  	  file, but leave the file itself untouched.</para>
  17.215        </listitem>
  17.216 -      <listitem><para>If you delete a file without telling Mercurial,
  17.217 +      <listitem><para id="x_e9">If you delete a file without telling Mercurial,
  17.218  	  it will restore the file to its unmodified contents.</para>
  17.219        </listitem>
  17.220 -      <listitem><para>If you use the <command role="hg-cmd">hg
  17.221 +      <listitem><para id="x_ea">If you use the <command role="hg-cmd">hg
  17.222  	    remove</command> command to remove a file, it will undo
  17.223  	  the <quote>removed</quote> state of the file, and restore
  17.224  	  the file to its unmodified contents.</para>
  17.225        </listitem></itemizedlist>
  17.226  
  17.227 -    <sect2 id="sec.undo.mgmt">
  17.228 +    <sect2 id="sec:undo:mgmt">
  17.229        <title>File management errors</title>
  17.230  
  17.231 -      <para>The <command role="hg-cmd">hg revert</command> command is
  17.232 +      <para id="x_eb">The <command role="hg-cmd">hg revert</command> command is
  17.233  	useful for more than just modified files.  It lets you reverse
  17.234  	the results of all of Mercurial's file management
  17.235  	commands&emdash;<command role="hg-cmd">hg add</command>,
  17.236  	<command role="hg-cmd">hg remove</command>, and so on.</para>
  17.237  
  17.238 -      <para>If you <command role="hg-cmd">hg add</command> a file,
  17.239 +      <para id="x_ec">If you <command role="hg-cmd">hg add</command> a file,
  17.240  	then decide that in fact you don't want Mercurial to track it,
  17.241  	use <command role="hg-cmd">hg revert</command> to undo the
  17.242  	add.  Don't worry; Mercurial will not modify the file in any
  17.243 @@ -231,7 +231,7 @@
  17.244  
  17.245        &interaction.daily.revert.add;
  17.246  
  17.247 -      <para>Similarly, if you ask Mercurial to <command
  17.248 +      <para id="x_ed">Similarly, if you ask Mercurial to <command
  17.249  	  role="hg-cmd">hg remove</command> a file, you can use
  17.250  	<command role="hg-cmd">hg revert</command> to restore it to
  17.251  	the contents it had as of the parent of the working directory.
  17.252 @@ -242,7 +242,7 @@
  17.253  
  17.254        &interaction.daily.revert.missing;
  17.255  
  17.256 -      <para>If you revert a <command role="hg-cmd">hg copy</command>,
  17.257 +      <para id="x_ee">If you revert a <command role="hg-cmd">hg copy</command>,
  17.258  	the copied-to file remains in your working directory
  17.259  	afterwards, untracked.  Since a copy doesn't affect the
  17.260  	copied-from file in any way, Mercurial doesn't do anything
  17.261 @@ -253,7 +253,7 @@
  17.262        <sect3>
  17.263  	<title>A slightly special case: reverting a rename</title>
  17.264  
  17.265 -	<para>If you <command role="hg-cmd">hg rename</command> a
  17.266 +	<para id="x_ef">If you <command role="hg-cmd">hg rename</command> a
  17.267  	  file, there is one small detail that you should remember.
  17.268  	  When you <command role="hg-cmd">hg revert</command> a
  17.269  	  rename, it's not enough to provide the name of the
  17.270 @@ -261,7 +261,7 @@
  17.271  
  17.272  	&interaction.daily.revert.rename;
  17.273  
  17.274 -	<para>As you can see from the output of <command
  17.275 +	<para id="x_f0">As you can see from the output of <command
  17.276  	    role="hg-cmd">hg status</command>, the renamed-to file is
  17.277  	  no longer identified as added, but the
  17.278  	  renamed-<emphasis>from</emphasis> file is still removed!
  17.279 @@ -270,22 +270,22 @@
  17.280  
  17.281  	&interaction.daily.revert.rename-orig;
  17.282  
  17.283 -	<para>So remember, to revert a <command role="hg-cmd">hg
  17.284 +	<para id="x_f1">So remember, to revert a <command role="hg-cmd">hg
  17.285  	    rename</command>, you must provide
  17.286  	  <emphasis>both</emphasis> the source and destination
  17.287  	  names.</para>
  17.288  
  17.289 -	<para>% TODO: the output doesn't look like it will be
  17.290 +	<para id="x_f2">% TODO: the output doesn't look like it will be
  17.291  	  removed!</para>
  17.292  
  17.293 -	<para>(By the way, if you rename a file, then modify the
  17.294 +	<para id="x_f3">(By the way, if you rename a file, then modify the
  17.295  	  renamed-to file, then revert both components of the rename,
  17.296  	  when Mercurial restores the file that was removed as part of
  17.297  	  the rename, it will be unmodified. If you need the
  17.298  	  modifications in the renamed-to file to show up in the
  17.299  	  renamed-from file, don't forget to copy them over.)</para>
  17.300  
  17.301 -	<para>These fiddly aspects of reverting a rename arguably
  17.302 +	<para id="x_f4">These fiddly aspects of reverting a rename arguably
  17.303  	  constitute a small bug in Mercurial.</para>
  17.304  
  17.305        </sect3>
  17.306 @@ -294,24 +294,24 @@
  17.307    <sect1>
  17.308      <title>Dealing with committed changes</title>
  17.309  
  17.310 -    <para>Consider a case where you have committed a change $a$, and
  17.311 +    <para id="x_f5">Consider a case where you have committed a change $a$, and
  17.312        another change $b$ on top of it; you then realise that change
  17.313        $a$ was incorrect.  Mercurial lets you <quote>back out</quote>
  17.314        an entire changeset automatically, and building blocks that let
  17.315        you reverse part of a changeset by hand.</para>
  17.316  
  17.317 -    <para>Before you read this section, here's something to keep in
  17.318 -      mind: the <command role="hg-cmd">hg backout</command> command
  17.319 -      undoes changes by <emphasis>adding</emphasis> history, not by
  17.320 -      modifying or erasing it.  It's the right tool to use if you're
  17.321 -      fixing bugs, but not if you're trying to undo some change that
  17.322 -      has catastrophic consequences.  To deal with those, see section
  17.323 -      <xref linkend="sec.undo.aaaiiieee"/>.</para>
  17.324 +    <para id="x_f6">Before you read this section, here's something to
  17.325 +      keep in mind: the <command role="hg-cmd">hg backout</command>
  17.326 +      command undoes changes by <emphasis>adding</emphasis> history,
  17.327 +      not by modifying or erasing it.  It's the right tool to use if
  17.328 +      you're fixing bugs, but not if you're trying to undo some change
  17.329 +      that has catastrophic consequences.  To deal with those, see
  17.330 +      <xref linkend="sec:undo:aaaiiieee"/>.</para>
  17.331  
  17.332      <sect2>
  17.333        <title>Backing out a changeset</title>
  17.334  
  17.335 -      <para>The <command role="hg-cmd">hg backout</command> command
  17.336 +      <para id="x_f7">The <command role="hg-cmd">hg backout</command> command
  17.337  	lets you <quote>undo</quote> the effects of an entire
  17.338  	changeset in an automated fashion.  Because Mercurial's
  17.339  	history is immutable, this command <emphasis>does
  17.340 @@ -320,14 +320,14 @@
  17.341  	<emphasis>reverses</emphasis> the effect of the to-be-undone
  17.342  	changeset.</para>
  17.343  
  17.344 -      <para>The operation of the <command role="hg-cmd">hg
  17.345 +      <para id="x_f8">The operation of the <command role="hg-cmd">hg
  17.346  	  backout</command> command is a little intricate, so let's
  17.347  	illustrate it with some examples.  First, we'll create a
  17.348  	repository with some simple changes.</para>
  17.349  
  17.350        &interaction.backout.init;
  17.351  
  17.352 -      <para>The <command role="hg-cmd">hg backout</command> command
  17.353 +      <para id="x_f9">The <command role="hg-cmd">hg backout</command> command
  17.354  	takes a single changeset ID as its argument; this is the
  17.355  	changeset to back out.  Normally, <command role="hg-cmd">hg
  17.356  	  backout</command> will drop you into a text editor to write
  17.357 @@ -340,12 +340,12 @@
  17.358      <sect2>
  17.359        <title>Backing out the tip changeset</title>
  17.360  
  17.361 -      <para>We're going to start by backing out the last changeset we
  17.362 +      <para id="x_fa">We're going to start by backing out the last changeset we
  17.363  	committed.</para>
  17.364  
  17.365        &interaction.backout.simple;
  17.366  
  17.367 -      <para>You can see that the second line from
  17.368 +      <para id="x_fb">You can see that the second line from
  17.369  	<filename>myfile</filename> is no longer present.  Taking a
  17.370  	look at the output of <command role="hg-cmd">hg log</command>
  17.371  	gives us an idea of what the <command role="hg-cmd">hg
  17.372 @@ -353,51 +353,45 @@
  17.373  	&interaction.backout.simple.log; Notice that the new changeset
  17.374  	that <command role="hg-cmd">hg backout</command> has created
  17.375  	is a child of the changeset we backed out.  It's easier to see
  17.376 -	this in figure <xref
  17.377 -	  endterm="fig.undo.backout.caption" linkend="fig.undo.backout"/>,
  17.378 -	which presents a graphical
  17.379 -	view of the change history.  As you can see, the history is
  17.380 -	nice and linear.</para>
  17.381 -
  17.382 -      <informalfigure id="fig.undo.backout">
  17.383 -        <mediaobject>
  17.384 -          <imageobject><imagedata fileref="images/undo-simple.png"/>
  17.385 -          </imageobject>
  17.386 -          <textobject><phrase>XXX add text</phrase></textobject>
  17.387 -          <caption><para id="fig.undo.backout.caption">Backing out
  17.388 -            a change using the 
  17.389 -            <command role="hg-cmd">hg backout</command>
  17.390 -            command</para></caption>
  17.391 -      </mediaobject>
  17.392 -      </informalfigure>
  17.393 +	this in <xref linkend="fig:undo:backout"/>, which presents a
  17.394 +	graphical view of the change history.  As you can see, the
  17.395 +	history is nice and linear.</para>
  17.396 +
  17.397 +      <figure id="fig:undo:backout">
  17.398 +	<title>Backing out a change using the <command
  17.399 +	    role="hg-cmd">hg backout</command> command</title>
  17.400 +	<mediaobject>
  17.401 +	  <imageobject><imagedata fileref="figs/undo-simple.png"/></imageobject>
  17.402 +	  <textobject><phrase>XXX add text</phrase></textobject>
  17.403 +	</mediaobject>
  17.404 +      </figure>
  17.405  
  17.406      </sect2>
  17.407      <sect2>
  17.408        <title>Backing out a non-tip change</title>
  17.409  
  17.410 -      <para>If you want to back out a change other than the last one
  17.411 +      <para id="x_fd">If you want to back out a change other than the last one
  17.412  	you committed, pass the <option
  17.413  	  role="hg-opt-backout">--merge</option> option to the
  17.414  	<command role="hg-cmd">hg backout</command> command.</para>
  17.415  
  17.416        &interaction.backout.non-tip.clone;
  17.417  
  17.418 -      <para>This makes backing out any changeset a
  17.419 +      <para id="x_fe">This makes backing out any changeset a
  17.420  	<quote>one-shot</quote> operation that's usually simple and
  17.421  	fast.</para>
  17.422  
  17.423        &interaction.backout.non-tip.backout;
  17.424  
  17.425 -      <para>If you take a look at the contents of
  17.426 +      <para id="x_ff">If you take a look at the contents of
  17.427  	<filename>myfile</filename> after the backout finishes, you'll
  17.428  	see that the first and third changes are present, but not the
  17.429  	second.</para>
  17.430  
  17.431        &interaction.backout.non-tip.cat;
  17.432  
  17.433 -      <para>As the graphical history in figure <xref
  17.434 -	  endterm="fig.undo.backout-non-tip.caption"
  17.435 -	  linkend="fig.undo.backout-non-tip"/> illustrates, Mercurial
  17.436 +      <para id="x_100">As the graphical history in <xref
  17.437 +	  linkend="fig:undo:backout-non-tip"/> illustrates, Mercurial
  17.438  	actually commits <emphasis>two</emphasis> changes in this kind
  17.439  	of situation (the box-shaped nodes are the ones that Mercurial
  17.440  	commits automatically).  Before Mercurial begins the backout
  17.441 @@ -407,21 +401,19 @@
  17.442  	the previous parent of the working directory, and commits the
  17.443  	result of the merge.</para>
  17.444  
  17.445 -      <para>% TODO: to me it looks like mercurial doesn't commit the
  17.446 +      <para id="x_101">% TODO: to me it looks like mercurial doesn't commit the
  17.447  	second merge automatically!</para>
  17.448  
  17.449 -      <informalfigure id="fig.undo.backout-non-tip">
  17.450 -        <mediaobject>
  17.451 -          <imageobject><imagedata fileref="images/undo-non-tip.png"/>
  17.452 -          </imageobject>
  17.453 -          <textobject><phrase>XXX add text</phrase></textobject>
  17.454 -          <caption><para id="fig.undo.backout-non-tip.caption">Automated
  17.455 -            backout of a non-tip change using the
  17.456 -            <command role="hg-cmd">hg backout</command> command</para></caption>
  17.457 -        </mediaobject>
  17.458 -      </informalfigure>
  17.459 -
  17.460 -      <para>The result is that you end up <quote>back where you
  17.461 +      <figure id="fig:undo:backout-non-tip">
  17.462 +	<title>Automated backout of a non-tip change using the
  17.463 +	  <command role="hg-cmd">hg backout</command> command</title>
  17.464 +	<mediaobject>
  17.465 +	  <imageobject><imagedata fileref="figs/undo-non-tip.png"/></imageobject>
  17.466 +	  <textobject><phrase>XXX add text</phrase></textobject>
  17.467 +	</mediaobject>
  17.468 +      </figure>
  17.469 +
  17.470 +      <para id="x_103">The result is that you end up <quote>back where you
  17.471  	  were</quote>, only with some extra history that undoes the
  17.472  	effect of the changeset you wanted to back out.</para>
  17.473  
  17.474 @@ -429,7 +421,7 @@
  17.475  	<title>Always use the <option
  17.476  	    role="hg-opt-backout">--merge</option> option</title>
  17.477  
  17.478 -	<para>In fact, since the <option
  17.479 +	<para id="x_104">In fact, since the <option
  17.480  	    role="hg-opt-backout">--merge</option> option will do the
  17.481  	  <quote>right thing</quote> whether or not the changeset
  17.482  	  you're backing out is the tip (i.e. it won't try to merge if
  17.483 @@ -442,7 +434,7 @@
  17.484      <sect2>
  17.485        <title>Gaining more control of the backout process</title>
  17.486  
  17.487 -      <para>While I've recommended that you always use the <option
  17.488 +      <para id="x_105">While I've recommended that you always use the <option
  17.489  	  role="hg-opt-backout">--merge</option> option when backing
  17.490  	out a change, the <command role="hg-cmd">hg backout</command>
  17.491  	command lets you decide how to merge a backout changeset.
  17.492 @@ -455,13 +447,13 @@
  17.493  
  17.494        &interaction.backout.manual.clone;
  17.495  
  17.496 -      <para>As with our
  17.497 +      <para id="x_106">As with our
  17.498  	earlier example, We'll commit a third changeset, then back out
  17.499  	its parent, and see what happens.</para>
  17.500  
  17.501        &interaction.backout.manual.backout;
  17.502  
  17.503 -      <para>Our new changeset is again a descendant of the changeset
  17.504 +      <para id="x_107">Our new changeset is again a descendant of the changeset
  17.505  	we backout out; it's thus a new head, <emphasis>not</emphasis>
  17.506  	a descendant of the changeset that was the tip.  The <command
  17.507  	  role="hg-cmd">hg backout</command> command was quite
  17.508 @@ -469,38 +461,35 @@
  17.509  
  17.510        &interaction.backout.manual.log;
  17.511  
  17.512 -      <para>Again, it's easier to see what has happened by looking at
  17.513 -	a graph of the revision history, in figure <xref
  17.514 -	  endterm="fig.undo.backout-manual.caption"
  17.515 -	  linkend="fig.undo.backout-manual"/>.  This makes it clear
  17.516 +      <para id="x_108">Again, it's easier to see what has happened by looking at
  17.517 +	a graph of the revision history, in <xref
  17.518 +	  linkend="fig:undo:backout-manual"/>.  This makes it clear
  17.519  	that when we use <command role="hg-cmd">hg backout</command>
  17.520  	to back out a change other than the tip, Mercurial adds a new
  17.521  	head to the repository (the change it committed is
  17.522  	box-shaped).</para>
  17.523  
  17.524 -      <informalfigure id="fig.undo.backout-manual">
  17.525 -        <mediaobject>
  17.526 -          <imageobject><imagedata fileref="images/undo-manual.png"/>
  17.527 -          </imageobject>
  17.528 -          <textobject><phrase>XXX add text</phrase></textobject>
  17.529 -          <caption><para id="fig.undo.backout-manual.caption">Backing out a
  17.530 -            change using the <command role="hg-cmd">hg backout</command>
  17.531 -            command</para></caption>
  17.532 -        </mediaobject>
  17.533 -      </informalfigure>
  17.534 -
  17.535 -      <para>After the <command role="hg-cmd">hg backout</command>
  17.536 +      <figure id="fig:undo:backout-manual">
  17.537 +	<title>Backing out a change using the <command
  17.538 +	    role="hg-cmd">hg backout</command> command</title>
  17.539 +	<mediaobject>
  17.540 +	  <imageobject><imagedata fileref="figs/undo-manual.png"/></imageobject>
  17.541 +	  <textobject><phrase>XXX add text</phrase></textobject>
  17.542 +	</mediaobject>
  17.543 +      </figure>
  17.544 +
  17.545 +      <para id="x_10a">After the <command role="hg-cmd">hg backout</command>
  17.546  	command has completed, it leaves the new
  17.547  	<quote>backout</quote> changeset as the parent of the working
  17.548  	directory.</para>
  17.549  
  17.550        &interaction.backout.manual.parents;
  17.551  
  17.552 -      <para>Now we have two isolated sets of changes.</para>
  17.553 +      <para id="x_10b">Now we have two isolated sets of changes.</para>
  17.554  
  17.555        &interaction.backout.manual.heads;
  17.556  
  17.557 -      <para>Let's think about what we expect to see as the contents of
  17.558 +      <para id="x_10c">Let's think about what we expect to see as the contents of
  17.559  	<filename>myfile</filename> now.  The first change should be
  17.560  	present, because we've never backed it out.  The second change
  17.561  	should be missing, as that's the change we backed out.  Since
  17.562 @@ -510,68 +499,65 @@
  17.563  
  17.564        &interaction.backout.manual.cat;
  17.565  
  17.566 -      <para>To get the third change back into the file, we just do a
  17.567 +      <para id="x_10d">To get the third change back into the file, we just do a
  17.568  	normal merge of our two heads.</para>
  17.569  
  17.570        &interaction.backout.manual.merge;
  17.571  
  17.572 -      <para>Afterwards, the graphical history of our repository looks
  17.573 -	like figure
  17.574 -	<xref endterm="fig.undo.backout-manual-merge.caption"
  17.575 -	  linkend="fig.undo.backout-manual-merge"/>.</para>
  17.576 -
  17.577 -      <informalfigure id="fig.undo.backout-manual-merge">
  17.578 -        <mediaobject>
  17.579 -          <imageobject><imagedata fileref="images/undo-manual-merge.png"/>
  17.580 -          </imageobject>
  17.581 -          <textobject><phrase>XXX add text</phrase></textobject>
  17.582 -          <caption><para id="fig.undo.backout-manual-merge.caption">Manually
  17.583 -            merging a backout change</para></caption>
  17.584 -        </mediaobject>
  17.585 -      </informalfigure>
  17.586 +      <para id="x_10e">Afterwards, the graphical history of our
  17.587 +	repository looks like
  17.588 +	<xref linkend="fig:undo:backout-manual-merge"/>.</para>
  17.589 +
  17.590 +      <figure id="fig:undo:backout-manual-merge">
  17.591 +	<title>Manually merging a backout change</title>
  17.592 +	<mediaobject>
  17.593 +	  <imageobject><imagedata fileref="figs/undo-manual-merge.png"/></imageobject>
  17.594 +	  <textobject><phrase>XXX add text</phrase></textobject>
  17.595 +	</mediaobject>
  17.596 +      </figure>
  17.597  
  17.598      </sect2>
  17.599      <sect2>
  17.600        <title>Why <command role="hg-cmd">hg backout</command> works as
  17.601  	it does</title>
  17.602  
  17.603 -      <para>Here's a brief description of how the <command
  17.604 +      <para id="x_110">Here's a brief description of how the <command
  17.605  	  role="hg-cmd">hg backout</command> command works.</para>
  17.606        <orderedlist>
  17.607 -	<listitem><para>It ensures that the working directory is
  17.608 +	<listitem><para id="x_111">It ensures that the working directory is
  17.609  	    <quote>clean</quote>, i.e. that the output of <command
  17.610  	      role="hg-cmd">hg status</command> would be empty.</para>
  17.611  	</listitem>
  17.612 -	<listitem><para>It remembers the current parent of the working
  17.613 +	<listitem><para id="x_112">It remembers the current parent of the working
  17.614  	    directory.  Let's call this changeset
  17.615  	    <literal>orig</literal></para>
  17.616  	</listitem>
  17.617 -	<listitem><para>It does the equivalent of a <command
  17.618 +	<listitem><para id="x_113">It does the equivalent of a <command
  17.619  	      role="hg-cmd">hg update</command> to sync the working
  17.620  	    directory to the changeset you want to back out.  Let's
  17.621  	    call this changeset <literal>backout</literal></para>
  17.622  	</listitem>
  17.623 -	<listitem><para>It finds the parent of that changeset.  Let's
  17.624 +	<listitem><para id="x_114">It finds the parent of that changeset.  Let's
  17.625  	    call that changeset <literal>parent</literal>.</para>
  17.626  	</listitem>
  17.627 -	<listitem><para>For each file that the
  17.628 +	<listitem><para id="x_115">For each file that the
  17.629  	    <literal>backout</literal> changeset affected, it does the
  17.630  	    equivalent of a <command role="hg-cmd">hg revert -r
  17.631  	      parent</command> on that file, to restore it to the
  17.632  	    contents it had before that changeset was
  17.633  	    committed.</para>
  17.634  	</listitem>
  17.635 -	<listitem><para>It commits the result as a new changeset.
  17.636 +	<listitem><para id="x_116">It commits the result as a new changeset.
  17.637  	    This changeset has <literal>backout</literal> as its
  17.638  	    parent.</para>
  17.639  	</listitem>
  17.640 -	<listitem><para>If you specify <option
  17.641 +	<listitem><para id="x_117">If you specify <option
  17.642  	      role="hg-opt-backout">--merge</option> on the command
  17.643  	    line, it merges with <literal>orig</literal>, and commits
  17.644  	    the result of the merge.</para>
  17.645  	</listitem></orderedlist>
  17.646  
  17.647 -      <para>An alternative way to implement the <command
  17.648 +      <para id="x_118">An alternative way to implement the <command
  17.649  	  role="hg-cmd">hg backout</command> command would be to
  17.650  	<command role="hg-cmd">hg export</command> the
  17.651  	to-be-backed-out changeset as a diff, then use the <option
  17.652 @@ -581,21 +567,21 @@
  17.653  	sounds much simpler, but it would not work nearly as
  17.654  	well.</para>
  17.655  
  17.656 -      <para>The reason that <command role="hg-cmd">hg
  17.657 +      <para id="x_119">The reason that <command role="hg-cmd">hg
  17.658  	  backout</command> does an update, a commit, a merge, and
  17.659  	another commit is to give the merge machinery the best chance
  17.660  	to do a good job when dealing with all the changes
  17.661  	<emphasis>between</emphasis> the change you're backing out and
  17.662  	the current tip.</para>
  17.663  
  17.664 -      <para>If you're backing out a changeset that's 100 revisions
  17.665 +      <para id="x_11a">If you're backing out a changeset that's 100 revisions
  17.666  	back in your project's history, the chances that the
  17.667  	<command>patch</command> command will be able to apply a
  17.668  	reverse diff cleanly are not good, because intervening changes
  17.669  	are likely to have <quote>broken the context</quote> that
  17.670  	<command>patch</command> uses to determine whether it can
  17.671  	apply a patch (if this sounds like gibberish, see <xref
  17.672 -	  linkend="sec.mq.patch"/> for a
  17.673 +	  linkend="sec:mq:patch"/> for a
  17.674  	discussion of the <command>patch</command> command).  Also,
  17.675  	Mercurial's merge machinery will handle files and directories
  17.676  	being renamed, permission changes, and modifications to binary
  17.677 @@ -604,16 +590,16 @@
  17.678  
  17.679      </sect2>
  17.680    </sect1>
  17.681 -  <sect1 id="sec.undo.aaaiiieee">
  17.682 +  <sect1 id="sec:undo:aaaiiieee">
  17.683      <title>Changes that should never have been</title>
  17.684  
  17.685 -    <para>Most of the time, the <command role="hg-cmd">hg
  17.686 +    <para id="x_11b">Most of the time, the <command role="hg-cmd">hg
  17.687  	backout</command> command is exactly what you need if you want
  17.688        to undo the effects of a change.  It leaves a permanent record
  17.689        of exactly what you did, both when committing the original
  17.690        changeset and when you cleaned up after it.</para>
  17.691  
  17.692 -    <para>On rare occasions, though, you may find that you've
  17.693 +    <para id="x_11c">On rare occasions, though, you may find that you've
  17.694        committed a change that really should not be present in the
  17.695        repository at all.  For example, it would be very unusual, and
  17.696        usually considered a mistake, to commit a software project's
  17.697 @@ -622,21 +608,21 @@
  17.698        so they increase the size of the repository and the amount of
  17.699        time it takes to clone or pull changes.</para>
  17.700  
  17.701 -    <para>Before I discuss the options that you have if you commit a
  17.702 +    <para id="x_11d">Before I discuss the options that you have if you commit a
  17.703        <quote>brown paper bag</quote> change (the kind that's so bad
  17.704        that you want to pull a brown paper bag over your head), let me
  17.705        first discuss some approaches that probably won't work.</para>
  17.706  
  17.707 -    <para>Since Mercurial treats history as accumulative&emdash;every
  17.708 -      change builds on top of all changes that preceded it&emdash;you
  17.709 -      generally can't just make disastrous changes disappear.  The one
  17.710 -      exception is when you've just committed a change, and it hasn't
  17.711 -      been pushed or pulled into another repository.  That's when you
  17.712 -      can safely use the <command role="hg-cmd">hg rollback</command>
  17.713 -      command, as I detailed in section <xref
  17.714 -	linkend="sec.undo.rollback"/>.</para>
  17.715 -
  17.716 -    <para>After you've pushed a bad change to another repository, you
  17.717 +    <para id="x_11e">Since Mercurial treats history as
  17.718 +      accumulative&emdash;every change builds on top of all changes
  17.719 +      that preceded it&emdash;you generally can't just make disastrous
  17.720 +      changes disappear.  The one exception is when you've just
  17.721 +      committed a change, and it hasn't been pushed or pulled into
  17.722 +      another repository.  That's when you can safely use the <command
  17.723 +	role="hg-cmd">hg rollback</command> command, as I detailed in
  17.724 +      <xref linkend="sec:undo:rollback"/>.</para>
  17.725 +
  17.726 +    <para id="x_11f">After you've pushed a bad change to another repository, you
  17.727        <emphasis>could</emphasis> still use <command role="hg-cmd">hg
  17.728  	rollback</command> to make your local copy of the change
  17.729        disappear, but it won't have the consequences you want.  The
  17.730 @@ -644,7 +630,7 @@
  17.731        will reappear in your local repository the next time you
  17.732        pull.</para>
  17.733  
  17.734 -    <para>If a situation like this arises, and you know which
  17.735 +    <para id="x_120">If a situation like this arises, and you know which
  17.736        repositories your bad change has propagated into, you can
  17.737        <emphasis>try</emphasis> to get rid of the changeefrom
  17.738        <emphasis>every</emphasis> one of those repositories.  This is,
  17.739 @@ -652,13 +638,13 @@
  17.740        single repository while you're expunging, the change is still
  17.741        <quote>in the wild</quote>, and could propagate further.</para>
  17.742  
  17.743 -    <para>If you've committed one or more changes
  17.744 +    <para id="x_121">If you've committed one or more changes
  17.745        <emphasis>after</emphasis> the change that you'd like to see
  17.746        disappear, your options are further reduced. Mercurial doesn't
  17.747        provide a way to <quote>punch a hole</quote> in history, leaving
  17.748        changesets intact.</para>
  17.749  
  17.750 -    <para>XXX This needs filling out.  The
  17.751 +    <para id="x_122">XXX This needs filling out.  The
  17.752        <literal>hg-replay</literal> script in the
  17.753        <literal>examples</literal> directory works, but doesn't handle
  17.754        merge changesets.  Kind of an important omission.</para>
  17.755 @@ -667,15 +653,15 @@
  17.756        <title>Protect yourself from <quote>escaped</quote>
  17.757  	changes</title>
  17.758  
  17.759 -      <para>If you've committed some changes to your local repository
  17.760 +      <para id="x_123">If you've committed some changes to your local repository
  17.761  	and they've been pushed or pulled somewhere else, this isn't
  17.762  	necessarily a disaster.  You can protect yourself ahead of
  17.763  	time against some classes of bad changeset.  This is
  17.764  	particularly easy if your team usually pulls changes from a
  17.765  	central repository.</para>
  17.766  
  17.767 -      <para>By configuring some hooks on that repository to validate
  17.768 -	incoming changesets (see chapter <xref linkend="chap.hook"/>),
  17.769 +      <para id="x_124">By configuring some hooks on that repository to validate
  17.770 +	incoming changesets (see chapter <xref linkend="chap:hook"/>),
  17.771  	you can
  17.772  	automatically prevent some kinds of bad changeset from being
  17.773  	pushed to the central repository at all.  With such a
  17.774 @@ -684,23 +670,23 @@
  17.775  	propagate into the central repository.  Better yet, this
  17.776  	happens without any need for explicit intervention.</para>
  17.777  
  17.778 -      <para>For instance, an incoming change hook that verifies that a
  17.779 +      <para id="x_125">For instance, an incoming change hook that verifies that a
  17.780  	changeset will actually compile can prevent people from
  17.781  	inadvertantly <quote>breaking the build</quote>.</para>
  17.782  
  17.783      </sect2>
  17.784    </sect1>
  17.785 -  <sect1 id="sec.undo.bisect">
  17.786 +  <sect1 id="sec:undo:bisect">
  17.787      <title>Finding the source of a bug</title>
  17.788  
  17.789 -    <para>While it's all very well to be able to back out a changeset
  17.790 +    <para id="x_126">While it's all very well to be able to back out a changeset
  17.791        that introduced a bug, this requires that you know which
  17.792        changeset to back out.  Mercurial provides an invaluable
  17.793        command, called <command role="hg-cmd">hg bisect</command>, that
  17.794        helps you to automate this process and accomplish it very
  17.795        efficiently.</para>
  17.796  
  17.797 -    <para>The idea behind the <command role="hg-cmd">hg
  17.798 +    <para id="x_127">The idea behind the <command role="hg-cmd">hg
  17.799  	bisect</command> command is that a changeset has introduced
  17.800        some change of behaviour that you can identify with a simple
  17.801        binary test.  You don't know which piece of code introduced the
  17.802 @@ -709,41 +695,41 @@
  17.803        test to direct its search for the changeset that introduced the
  17.804        code that caused the bug.</para>
  17.805  
  17.806 -    <para>Here are a few scenarios to help you understand how you
  17.807 +    <para id="x_128">Here are a few scenarios to help you understand how you
  17.808        might apply this command.</para>
  17.809      <itemizedlist>
  17.810 -      <listitem><para>The most recent version of your software has a
  17.811 +      <listitem><para id="x_129">The most recent version of your software has a
  17.812  	  bug that you remember wasn't present a few weeks ago, but
  17.813  	  you don't know when it was introduced.  Here, your binary
  17.814  	  test checks for the presence of that bug.</para>
  17.815        </listitem>
  17.816 -      <listitem><para>You fixed a bug in a rush, and now it's time to
  17.817 +      <listitem><para id="x_12a">You fixed a bug in a rush, and now it's time to
  17.818  	  close the entry in your team's bug database.  The bug
  17.819  	  database requires a changeset ID when you close an entry,
  17.820  	  but you don't remember which changeset you fixed the bug in.
  17.821  	  Once again, your binary test checks for the presence of the
  17.822  	  bug.</para>
  17.823        </listitem>
  17.824 -      <listitem><para>Your software works correctly, but runs 15%
  17.825 +      <listitem><para id="x_12b">Your software works correctly, but runs 15%
  17.826  	  slower than the last time you measured it.  You want to know
  17.827  	  which changeset introduced the performance regression.  In
  17.828  	  this case, your binary test measures the performance of your
  17.829  	  software, to see whether it's <quote>fast</quote> or
  17.830  	  <quote>slow</quote>.</para>
  17.831        </listitem>
  17.832 -      <listitem><para>The sizes of the components of your project that
  17.833 +      <listitem><para id="x_12c">The sizes of the components of your project that
  17.834  	  you ship exploded recently, and you suspect that something
  17.835  	  changed in the way you build your project.</para>
  17.836        </listitem></itemizedlist>
  17.837  
  17.838 -    <para>From these examples, it should be clear that the <command
  17.839 +    <para id="x_12d">From these examples, it should be clear that the <command
  17.840  	role="hg-cmd">hg bisect</command> command is not useful only
  17.841        for finding the sources of bugs.  You can use it to find any
  17.842        <quote>emergent property</quote> of a repository (anything that
  17.843        you can't find from a simple text search of the files in the
  17.844        tree) for which you can write a binary test.</para>
  17.845  
  17.846 -    <para>We'll introduce a little bit of terminology here, just to
  17.847 +    <para id="x_12e">We'll introduce a little bit of terminology here, just to
  17.848        make it clear which parts of the search process are your
  17.849        responsibility, and which are Mercurial's.  A
  17.850        <emphasis>test</emphasis> is something that
  17.851 @@ -756,7 +742,7 @@
  17.852  	the <command role="hg-cmd">hg bisect</command>
  17.853  	command</quote>.</para>
  17.854  
  17.855 -    <para>One simple way to automate the searching process would be
  17.856 +    <para id="x_12f">One simple way to automate the searching process would be
  17.857        simply to probe every changeset.  However, this scales poorly.
  17.858        If it took ten minutes to test a single changeset, and you had
  17.859        10,000 changesets in your repository, the exhaustive approach
  17.860 @@ -766,7 +752,7 @@
  17.861        your search to those, you'd still be looking at over 40 hours to
  17.862        find the changeset that introduced your bug.</para>
  17.863  
  17.864 -    <para>What the <command role="hg-cmd">hg bisect</command> command
  17.865 +    <para id="x_130">What the <command role="hg-cmd">hg bisect</command> command
  17.866        does is use its knowledge of the <quote>shape</quote> of your
  17.867        project's revision history to perform a search in time
  17.868        proportional to the <emphasis>logarithm</emphasis> of the number
  17.869 @@ -777,7 +763,7 @@
  17.870        Limit your search to the last hundred changesets, and it will
  17.871        take only about an hour (roughly seven tests).</para>
  17.872  
  17.873 -    <para>The <command role="hg-cmd">hg bisect</command> command is
  17.874 +    <para id="x_131">The <command role="hg-cmd">hg bisect</command> command is
  17.875        aware of the <quote>branchy</quote> nature of a Mercurial
  17.876        project's revision history, so it has no problems dealing with
  17.877        branches, merges, or multiple heads in a repository.  It can
  17.878 @@ -788,24 +774,24 @@
  17.879        <title>Using the <command role="hg-cmd">hg bisect</command>
  17.880  	command</title>
  17.881  
  17.882 -      <para>Here's an example of <command role="hg-cmd">hg
  17.883 +      <para id="x_132">Here's an example of <command role="hg-cmd">hg
  17.884  	  bisect</command> in action.</para>
  17.885  
  17.886        <note>
  17.887 -	<para>  In versions 0.9.5 and earlier of Mercurial, <command
  17.888 +	<para id="x_133">  In versions 0.9.5 and earlier of Mercurial, <command
  17.889  	    role="hg-cmd">hg bisect</command> was not a core command:
  17.890  	  it was distributed with Mercurial as an extension. This
  17.891  	  section describes the built-in command, not the old
  17.892  	  extension.</para>
  17.893        </note>
  17.894  
  17.895 -      <para>Now let's create a repository, so that we can try out the
  17.896 +      <para id="x_134">Now let's create a repository, so that we can try out the
  17.897  	<command role="hg-cmd">hg bisect</command> command in
  17.898  	isolation.</para>
  17.899  
  17.900        &interaction.bisect.init;
  17.901  
  17.902 -      <para>We'll simulate a project that has a bug in it in a
  17.903 +      <para id="x_135">We'll simulate a project that has a bug in it in a
  17.904  	simple-minded way: create trivial changes in a loop, and
  17.905  	nominate one specific change that will have the
  17.906  	<quote>bug</quote>.  This loop creates 35 changesets, each
  17.907 @@ -815,44 +801,44 @@
  17.908  
  17.909        &interaction.bisect.commits;
  17.910  
  17.911 -      <para>The next thing that we'd like to do is figure out how to
  17.912 +      <para id="x_136">The next thing that we'd like to do is figure out how to
  17.913  	use the <command role="hg-cmd">hg bisect</command> command.
  17.914  	We can use Mercurial's normal built-in help mechanism for
  17.915  	this.</para>
  17.916  
  17.917        &interaction.bisect.help;
  17.918  
  17.919 -      <para>The <command role="hg-cmd">hg bisect</command> command
  17.920 +      <para id="x_137">The <command role="hg-cmd">hg bisect</command> command
  17.921  	works in steps.  Each step proceeds as follows.</para>
  17.922        <orderedlist>
  17.923 -	<listitem><para>You run your binary test.</para>
  17.924 +	<listitem><para id="x_138">You run your binary test.</para>
  17.925  	  <itemizedlist>
  17.926 -	    <listitem><para>If the test succeeded, you tell <command
  17.927 +	    <listitem><para id="x_139">If the test succeeded, you tell <command
  17.928  		  role="hg-cmd">hg bisect</command> by running the
  17.929  		<command role="hg-cmd">hg bisect good</command>
  17.930  		command.</para>
  17.931  	    </listitem>
  17.932 -	    <listitem><para>If it failed, run the <command
  17.933 +	    <listitem><para id="x_13a">If it failed, run the <command
  17.934  		  role="hg-cmd">hg bisect bad</command>
  17.935  		command.</para></listitem></itemizedlist>
  17.936  	</listitem>
  17.937 -	<listitem><para>The command uses your information to decide
  17.938 +	<listitem><para id="x_13b">The command uses your information to decide
  17.939  	    which changeset to test next.</para>
  17.940  	</listitem>
  17.941 -	<listitem><para>It updates the working directory to that
  17.942 +	<listitem><para id="x_13c">It updates the working directory to that
  17.943  	    changeset, and the process begins again.</para>
  17.944  	</listitem></orderedlist>
  17.945 -      <para>The process ends when <command role="hg-cmd">hg
  17.946 +      <para id="x_13d">The process ends when <command role="hg-cmd">hg
  17.947  	  bisect</command> identifies a unique changeset that marks
  17.948  	the point where your test transitioned from
  17.949  	<quote>succeeding</quote> to <quote>failing</quote>.</para>
  17.950  
  17.951 -      <para>To start the search, we must run the <command
  17.952 +      <para id="x_13e">To start the search, we must run the <command
  17.953  	  role="hg-cmd">hg bisect --reset</command> command.</para>
  17.954  
  17.955        &interaction.bisect.search.init;
  17.956  
  17.957 -      <para>In our case, the binary test we use is simple: we check to
  17.958 +      <para id="x_13f">In our case, the binary test we use is simple: we check to
  17.959  	see if any file in the repository contains the string <quote>i
  17.960  	  have a gub</quote>.  If it does, this changeset contains the
  17.961  	change that <quote>caused the bug</quote>.  By convention, a
  17.962 @@ -860,14 +846,14 @@
  17.963  	<quote>bad</quote>, while one that doesn't is
  17.964  	<quote>good</quote>.</para>
  17.965  
  17.966 -      <para>Most of the time, the revision to which the working
  17.967 +      <para id="x_140">Most of the time, the revision to which the working
  17.968  	directory is synced (usually the tip) already exhibits the
  17.969  	problem introduced by the buggy change, so we'll mark it as
  17.970  	<quote>bad</quote>.</para>
  17.971  
  17.972        &interaction.bisect.search.bad-init;
  17.973  
  17.974 -      <para>Our next task is to nominate a changeset that we know
  17.975 +      <para id="x_141">Our next task is to nominate a changeset that we know
  17.976  	<emphasis>doesn't</emphasis> have the bug; the <command
  17.977  	  role="hg-cmd">hg bisect</command> command will
  17.978  	<quote>bracket</quote> its search between the first pair of
  17.979 @@ -877,38 +863,38 @@
  17.980  
  17.981        &interaction.bisect.search.good-init;
  17.982  
  17.983 -      <para>Notice that this command printed some output.</para>
  17.984 +      <para id="x_142">Notice that this command printed some output.</para>
  17.985        <itemizedlist>
  17.986 -	<listitem><para>It told us how many changesets it must
  17.987 +	<listitem><para id="x_143">It told us how many changesets it must
  17.988  	    consider before it can identify the one that introduced
  17.989  	    the bug, and how many tests that will require.</para>
  17.990  	</listitem>
  17.991 -	<listitem><para>It updated the working directory to the next
  17.992 +	<listitem><para id="x_144">It updated the working directory to the next
  17.993  	    changeset to test, and told us which changeset it's
  17.994  	    testing.</para>
  17.995  	</listitem></itemizedlist>
  17.996  
  17.997 -      <para>We now run our test in the working directory.  We use the
  17.998 +      <para id="x_145">We now run our test in the working directory.  We use the
  17.999  	<command>grep</command> command to see if our
 17.1000  	<quote>bad</quote> file is present in the working directory.
 17.1001  	If it is, this revision is bad; if not, this revision is good.
 17.1002  	&interaction.bisect.search.step1;</para>
 17.1003  
 17.1004 -      <para>This test looks like a perfect candidate for automation,
 17.1005 +      <para id="x_146">This test looks like a perfect candidate for automation,
 17.1006  	so let's turn it into a shell function.</para>
 17.1007        &interaction.bisect.search.mytest;
 17.1008  
 17.1009 -      <para>We can now run an entire test step with a single command,
 17.1010 +      <para id="x_147">We can now run an entire test step with a single command,
 17.1011  	<literal>mytest</literal>.</para>
 17.1012  
 17.1013        &interaction.bisect.search.step2;
 17.1014  
 17.1015 -      <para>A few more invocations of our canned test step command,
 17.1016 +      <para id="x_148">A few more invocations of our canned test step command,
 17.1017  	and we're done.</para>
 17.1018  
 17.1019        &interaction.bisect.search.rest;
 17.1020  
 17.1021 -      <para>Even though we had 40 changesets to search through, the
 17.1022 +      <para id="x_149">Even though we had 40 changesets to search through, the
 17.1023  	<command role="hg-cmd">hg bisect</command> command let us find
 17.1024  	the changeset that introduced our <quote>bug</quote> with only
 17.1025  	five tests.  Because the number of tests that the <command
 17.1026 @@ -921,7 +907,7 @@
 17.1027      <sect2>
 17.1028        <title>Cleaning up after your search</title>
 17.1029  
 17.1030 -      <para>When you're finished using the <command role="hg-cmd">hg
 17.1031 +      <para id="x_14a">When you're finished using the <command role="hg-cmd">hg
 17.1032  	  bisect</command> command in a repository, you can use the
 17.1033  	<command role="hg-cmd">hg bisect reset</command> command to
 17.1034  	drop the information it was using to drive your search.  The
 17.1035 @@ -941,7 +927,7 @@
 17.1036      <sect2>
 17.1037        <title>Give consistent input</title>
 17.1038  
 17.1039 -      <para>The <command role="hg-cmd">hg bisect</command> command
 17.1040 +      <para id="x_14b">The <command role="hg-cmd">hg bisect</command> command
 17.1041  	requires that you correctly report the result of every test
 17.1042  	you perform.  If you tell it that a test failed when it really
 17.1043  	succeeded, it <emphasis>might</emphasis> be able to detect the
 17.1044 @@ -955,7 +941,7 @@
 17.1045      <sect2>
 17.1046        <title>Automate as much as possible</title>
 17.1047  
 17.1048 -      <para>When I started using the <command role="hg-cmd">hg
 17.1049 +      <para id="x_14c">When I started using the <command role="hg-cmd">hg
 17.1050  	  bisect</command> command, I tried a few times to run my
 17.1051  	tests by hand, on the command line.  This is an approach that
 17.1052  	I, at least, am not suited to.  After a few tries, I found
 17.1053 @@ -963,7 +949,7 @@
 17.1054  	my searches several times before finally getting correct
 17.1055  	results.</para>
 17.1056  
 17.1057 -      <para>My initial problems with driving the <command
 17.1058 +      <para id="x_14d">My initial problems with driving the <command
 17.1059  	  role="hg-cmd">hg bisect</command> command by hand occurred
 17.1060  	even with simple searches on small repositories; if the
 17.1061  	problem you're looking for is more subtle, or the number of
 17.1062 @@ -972,14 +958,14 @@
 17.1063  	the search is much higher.  Once I started automating my
 17.1064  	tests, I had much better results.</para>
 17.1065  
 17.1066 -      <para>The key to automated testing is twofold:</para>
 17.1067 +      <para id="x_14e">The key to automated testing is twofold:</para>
 17.1068        <itemizedlist>
 17.1069 -	<listitem><para>always test for the same symptom, and</para>
 17.1070 -	</listitem>
 17.1071 -	<listitem><para>always feed consistent input to the <command
 17.1072 +	<listitem><para id="x_14f">always test for the same symptom, and</para>
 17.1073 +	</listitem>
 17.1074 +	<listitem><para id="x_150">always feed consistent input to the <command
 17.1075  	      role="hg-cmd">hg bisect</command> command.</para>
 17.1076  	</listitem></itemizedlist>
 17.1077 -      <para>In my tutorial example above, the <command>grep</command>
 17.1078 +      <para id="x_151">In my tutorial example above, the <command>grep</command>
 17.1079  	command tests for the symptom, and the <literal>if</literal>
 17.1080  	statement takes the result of this check and ensures that we
 17.1081  	always feed the same input to the <command role="hg-cmd">hg
 17.1082 @@ -991,21 +977,21 @@
 17.1083      <sect2>
 17.1084        <title>Check your results</title>
 17.1085  
 17.1086 -      <para>Because the output of a <command role="hg-cmd">hg
 17.1087 +      <para id="x_152">Because the output of a <command role="hg-cmd">hg
 17.1088  	  bisect</command> search is only as good as the input you
 17.1089  	give it, don't take the changeset it reports as the absolute
 17.1090  	truth.  A simple way to cross-check its report is to manually
 17.1091  	run your test at each of the following changesets:</para>
 17.1092        <itemizedlist>
 17.1093 -	<listitem><para>The changeset that it reports as the first bad
 17.1094 +	<listitem><para id="x_153">The changeset that it reports as the first bad
 17.1095  	    revision.  Your test should still report this as
 17.1096  	    bad.</para>
 17.1097  	</listitem>
 17.1098 -	<listitem><para>The parent of that changeset (either parent,
 17.1099 +	<listitem><para id="x_154">The parent of that changeset (either parent,
 17.1100  	    if it's a merge). Your test should report this changeset
 17.1101  	    as good.</para>
 17.1102  	</listitem>
 17.1103 -	<listitem><para>A child of that changeset.  Your test should
 17.1104 +	<listitem><para id="x_155">A child of that changeset.  Your test should
 17.1105  	    report this changeset as bad.</para>
 17.1106  	</listitem></itemizedlist>
 17.1107  
 17.1108 @@ -1013,7 +999,7 @@
 17.1109      <sect2>
 17.1110        <title>Beware interference between bugs</title>
 17.1111  
 17.1112 -      <para>It's possible that your search for one bug could be
 17.1113 +      <para id="x_156">It's possible that your search for one bug could be
 17.1114  	disrupted by the presence of another.  For example, let's say
 17.1115  	your software crashes at revision 100, and worked correctly at
 17.1116  	revision 50.  Unknown to you, someone else introduced a
 17.1117 @@ -1021,7 +1007,7 @@
 17.1118  	revision 80.  This could distort your results in one of
 17.1119  	several ways.</para>
 17.1120  
 17.1121 -      <para>It is possible that this other bug completely
 17.1122 +      <para id="x_157">It is possible that this other bug completely
 17.1123  	<quote>masks</quote> yours, which is to say that it occurs
 17.1124  	before your bug has a chance to manifest itself.  If you can't
 17.1125  	avoid that other bug (for example, it prevents your project
 17.1126 @@ -1031,14 +1017,14 @@
 17.1127  	you can mark a changeset as untested by running <command
 17.1128  	  role="hg-cmd">hg bisect --skip</command>.</para>
 17.1129  
 17.1130 -      <para>A different problem could arise if your test for a bug's
 17.1131 +      <para id="x_158">A different problem could arise if your test for a bug's
 17.1132  	presence is not specific enough.  If you check for <quote>my
 17.1133  	  program crashes</quote>, then both your crashing bug and an
 17.1134  	unrelated crashing bug that masks it will look like the same
 17.1135  	thing, and mislead <command role="hg-cmd">hg
 17.1136  	  bisect</command>.</para>
 17.1137  
 17.1138 -      <para>Another useful situation in which to use <command
 17.1139 +      <para id="x_159">Another useful situation in which to use <command
 17.1140  	  role="hg-cmd">hg bisect --skip</command> is if you can't
 17.1141  	test a revision because your project was in a broken and hence
 17.1142  	untestable state at that revision, perhaps because someone
 17.1143 @@ -1049,7 +1035,7 @@
 17.1144      <sect2>
 17.1145        <title>Bracket your search lazily</title>
 17.1146  
 17.1147 -      <para>Choosing the first <quote>good</quote> and
 17.1148 +      <para id="x_15a">Choosing the first <quote>good</quote> and
 17.1149  	<quote>bad</quote> changesets that will mark the end points of
 17.1150  	your search is often easy, but it bears a little discussion
 17.1151  	nevertheless.  From the perspective of <command
 17.1152 @@ -1057,7 +1043,7 @@
 17.1153  	changeset is conventionally <quote>bad</quote>, and the older
 17.1154  	changeset is <quote>good</quote>.</para>
 17.1155  
 17.1156 -      <para>If you're having trouble remembering when a suitable
 17.1157 +      <para id="x_15b">If you're having trouble remembering when a suitable
 17.1158  	<quote>good</quote> change was, so that you can tell <command
 17.1159  	  role="hg-cmd">hg bisect</command>, you could do worse than
 17.1160  	testing changesets at random.  Just remember to eliminate
 17.1161 @@ -1066,7 +1052,7 @@
 17.1162  	where another problem masks the bug (as I discussed
 17.1163  	above).</para>
 17.1164  
 17.1165 -      <para>Even if you end up <quote>early</quote> by thousands of
 17.1166 +      <para id="x_15c">Even if you end up <quote>early</quote> by thousands of
 17.1167  	changesets or months of history, you will only add a handful
 17.1168  	of tests to the total number that <command role="hg-cmd">hg
 17.1169  	  bisect</command> must perform, thanks to its logarithmic
    18.1 --- a/en/ch09-hook.xml	Fri Mar 20 17:17:55 2009 +0800
    18.2 +++ b/en/ch09-hook.xml	Mon Mar 30 16:23:33 2009 +0800
    18.3 @@ -1,15 +1,15 @@
    18.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    18.5  
    18.6 -<chapter id="chap.hook">
    18.7 +<chapter id="chap:hook">
    18.8    <?dbhtml filename="handling-repository-events-with-hooks.html"?>
    18.9    <title>Handling repository events with hooks</title>
   18.10  
   18.11 -  <para>Mercurial offers a powerful mechanism to let you perform
   18.12 +  <para id="x_1e6">Mercurial offers a powerful mechanism to let you perform
   18.13      automated actions in response to events that occur in a
   18.14      repository.  In some cases, you can even control Mercurial's
   18.15      response to those events.</para>
   18.16  
   18.17 -  <para>The name Mercurial uses for one of these actions is a
   18.18 +  <para id="x_1e7">The name Mercurial uses for one of these actions is a
   18.19      <emphasis>hook</emphasis>. Hooks are called
   18.20      <quote>triggers</quote> in some revision control systems, but the
   18.21      two names refer to the same idea.</para>
   18.22 @@ -17,49 +17,49 @@
   18.23    <sect1>
   18.24      <title>An overview of hooks in Mercurial</title>
   18.25  
   18.26 -    <para>Here is a brief list of the hooks that Mercurial supports.
   18.27 -      We will revisit each of these hooks in more detail later, in
   18.28 -      section <xref linkend="sec.hook.ref"/>.</para>
   18.29 +    <para id="x_1e8">Here is a brief list of the hooks that Mercurial
   18.30 +      supports. We will revisit each of these hooks in more detail
   18.31 +      later, in <xref linkend="sec:hook:ref"/>.</para>
   18.32  
   18.33      <itemizedlist>
   18.34 -      <listitem><para><literal role="hook">changegroup</literal>: This
   18.35 +      <listitem><para id="x_1e9"><literal role="hook">changegroup</literal>: This
   18.36  	  is run after a group of changesets has been brought into the
   18.37  	  repository from elsewhere.</para>
   18.38        </listitem>
   18.39 -      <listitem><para><literal role="hook">commit</literal>: This is
   18.40 +      <listitem><para id="x_1ea"><literal role="hook">commit</literal>: This is
   18.41  	  run after a new changeset has been created in the local
   18.42  	  repository.</para>
   18.43        </listitem>
   18.44 -      <listitem><para><literal role="hook">incoming</literal>: This is
   18.45 +      <listitem><para id="x_1eb"><literal role="hook">incoming</literal>: This is
   18.46  	  run once for each new changeset that is brought into the
   18.47  	  repository from elsewhere.  Notice the difference from
   18.48  	  <literal role="hook">changegroup</literal>, which is run
   18.49  	  once per <emphasis>group</emphasis> of changesets brought
   18.50  	  in.</para>
   18.51        </listitem>
   18.52 -      <listitem><para><literal role="hook">outgoing</literal>: This is
   18.53 +      <listitem><para id="x_1ec"><literal role="hook">outgoing</literal>: This is
   18.54  	  run after a group of changesets has been transmitted from
   18.55  	  this repository.</para>
   18.56        </listitem>
   18.57 -      <listitem><para><literal role="hook">prechangegroup</literal>:
   18.58 +      <listitem><para id="x_1ed"><literal role="hook">prechangegroup</literal>:
   18.59  	  This is run before starting to bring a group of changesets
   18.60  	  into the repository.
   18.61  	</para>
   18.62        </listitem>
   18.63 -      <listitem><para><literal role="hook">precommit</literal>:
   18.64 +      <listitem><para id="x_1ee"><literal role="hook">precommit</literal>:
   18.65  	  Controlling. This is run before starting a commit.
   18.66  	</para>
   18.67        </listitem>
   18.68 -      <listitem><para><literal role="hook">preoutgoing</literal>:
   18.69 +      <listitem><para id="x_1ef"><literal role="hook">preoutgoing</literal>:
   18.70  	  Controlling. This is run before starting to transmit a group
   18.71  	  of changesets from this repository.
   18.72  	</para>
   18.73        </listitem>
   18.74 -      <listitem><para><literal role="hook">pretag</literal>:
   18.75 +      <listitem><para id="x_1f0"><literal role="hook">pretag</literal>:
   18.76  	  Controlling. This is run before creating a tag.
   18.77  	</para>
   18.78        </listitem>
   18.79 -      <listitem><para><literal
   18.80 +      <listitem><para id="x_1f1"><literal
   18.81  	    role="hook">pretxnchangegroup</literal>: Controlling. This
   18.82  	  is run after a group of changesets has been brought into the
   18.83  	  local repository from another, but before the transaction
   18.84 @@ -67,27 +67,27 @@
   18.85  	  repository.
   18.86  	</para>
   18.87        </listitem>
   18.88 -      <listitem><para><literal role="hook">pretxncommit</literal>:
   18.89 +      <listitem><para id="x_1f2"><literal role="hook">pretxncommit</literal>:
   18.90  	  Controlling. This is run after a new changeset has been
   18.91  	  created in the local repository, but before the transaction
   18.92  	  completes that will make it permanent.
   18.93  	</para>
   18.94        </listitem>
   18.95 -      <listitem><para><literal role="hook">preupdate</literal>:
   18.96 +      <listitem><para id="x_1f3"><literal role="hook">preupdate</literal>:
   18.97  	  Controlling. This is run before starting an update or merge
   18.98  	  of the working directory.
   18.99  	</para>
  18.100        </listitem>
  18.101 -      <listitem><para><literal role="hook">tag</literal>: This is run
  18.102 +      <listitem><para id="x_1f4"><literal role="hook">tag</literal>: This is run
  18.103  	  after a tag is created.
  18.104  	</para>
  18.105        </listitem>
  18.106 -      <listitem><para><literal role="hook">update</literal>: This is
  18.107 +      <listitem><para id="x_1f5"><literal role="hook">update</literal>: This is
  18.108  	  run after an update or merge of the working directory has
  18.109  	  finished.
  18.110  	</para>
  18.111        </listitem></itemizedlist>
  18.112 -    <para>Each of the hooks whose description begins with the word
  18.113 +    <para id="x_1f6">Each of the hooks whose description begins with the word
  18.114        <quote>Controlling</quote> has the ability to determine whether
  18.115        an activity can proceed.  If the hook succeeds, the activity may
  18.116        proceed; if it fails, the activity is either not permitted or
  18.117 @@ -101,7 +101,7 @@
  18.118      <sect2>
  18.119        <title>Hooks are run with your privileges</title>
  18.120  
  18.121 -      <para>When you run a Mercurial command in a repository, and the
  18.122 +      <para id="x_1f7">When you run a Mercurial command in a repository, and the
  18.123  	command causes a hook to run, that hook runs on
  18.124  	<emphasis>your</emphasis> system, under
  18.125  	<emphasis>your</emphasis> user account, with
  18.126 @@ -112,14 +112,14 @@
  18.127  	it does.
  18.128        </para>
  18.129  
  18.130 -      <para>In some cases, you may be exposed to hooks that you did
  18.131 +      <para id="x_1f8">In some cases, you may be exposed to hooks that you did
  18.132  	not install yourself.  If you work with Mercurial on an
  18.133  	unfamiliar system, Mercurial will run hooks defined in that
  18.134  	system's global <filename role="special">~/.hgrc</filename>
  18.135  	file.
  18.136        </para>
  18.137  
  18.138 -      <para>If you are working with a repository owned by another
  18.139 +      <para id="x_1f9">If you are working with a repository owned by another
  18.140  	user, Mercurial can run hooks defined in that user's
  18.141  	repository, but it will still run them as <quote>you</quote>.
  18.142  	For example, if you <command role="hg-cmd">hg pull</command>
  18.143 @@ -131,7 +131,7 @@
  18.144        </para>
  18.145  
  18.146        <note>
  18.147 -	<para>  This only applies if you are pulling from a repository
  18.148 +	<para id="x_1fa">  This only applies if you are pulling from a repository
  18.149  	  on a local or network filesystem.  If you're pulling over
  18.150  	  http or ssh, any <literal role="hook">outgoing</literal>
  18.151  	  hook will run under whatever account is executing the server
  18.152 @@ -139,7 +139,7 @@
  18.153  	</para>
  18.154        </note>
  18.155  
  18.156 -      <para>XXX To see what hooks are defined in a repository, use the
  18.157 +      <para id="x_1fb">XXX To see what hooks are defined in a repository, use the
  18.158  	<command role="hg-cmd">hg config hooks</command> command.  If
  18.159  	you are working in one repository, but talking to another that
  18.160  	you do not own (e.g. using <command role="hg-cmd">hg
  18.161 @@ -152,27 +152,27 @@
  18.162      <sect2>
  18.163        <title>Hooks do not propagate</title>
  18.164  
  18.165 -      <para>In Mercurial, hooks are not revision controlled, and do
  18.166 +      <para id="x_1fc">In Mercurial, hooks are not revision controlled, and do
  18.167  	not propagate when you clone, or pull from, a repository.  The
  18.168  	reason for this is simple: a hook is a completely arbitrary
  18.169  	piece of executable code.  It runs under your user identity,
  18.170  	with your privilege level, on your machine.
  18.171        </para>
  18.172  
  18.173 -      <para>It would be extremely reckless for any distributed
  18.174 +      <para id="x_1fd">It would be extremely reckless for any distributed
  18.175  	revision control system to implement revision-controlled
  18.176  	hooks, as this would offer an easily exploitable way to
  18.177  	subvert the accounts of users of the revision control system.
  18.178        </para>
  18.179  
  18.180 -      <para>Since Mercurial does not propagate hooks, if you are
  18.181 +      <para id="x_1fe">Since Mercurial does not propagate hooks, if you are
  18.182  	collaborating with other people on a common project, you
  18.183  	should not assume that they are using the same Mercurial hooks
  18.184  	as you are, or that theirs are correctly configured.  You
  18.185  	should document the hooks you expect people to use.
  18.186        </para>
  18.187  
  18.188 -      <para>In a corporate intranet, this is somewhat easier to
  18.189 +      <para id="x_1ff">In a corporate intranet, this is somewhat easier to
  18.190  	control, as you can for example provide a
  18.191  	<quote>standard</quote> installation of Mercurial on an NFS
  18.192  	filesystem, and use a site-wide <filename role="special">~/.hgrc</filename> file to define hooks that all users will
  18.193 @@ -183,12 +183,12 @@
  18.194      <sect2>
  18.195        <title>Hooks can be overridden</title>
  18.196  
  18.197 -      <para>Mercurial allows you to override a hook definition by
  18.198 +      <para id="x_200">Mercurial allows you to override a hook definition by
  18.199  	redefining the hook.  You can disable it by setting its value
  18.200  	to the empty string, or change its behaviour as you wish.
  18.201        </para>
  18.202  
  18.203 -      <para>If you deploy a system- or site-wide <filename
  18.204 +      <para id="x_201">If you deploy a system- or site-wide <filename
  18.205  	  role="special">~/.hgrc</filename> file that defines some
  18.206  	hooks, you should thus understand that your users can disable
  18.207  	or override those hooks.
  18.208 @@ -198,7 +198,7 @@
  18.209      <sect2>
  18.210        <title>Ensuring that critical hooks are run</title>
  18.211  
  18.212 -      <para>Sometimes you may want to enforce a policy that you do not
  18.213 +      <para id="x_202">Sometimes you may want to enforce a policy that you do not
  18.214  	want others to be able to work around.  For example, you may
  18.215  	have a requirement that every changeset must pass a rigorous
  18.216  	set of tests.  Defining this requirement via a hook in a
  18.217 @@ -207,13 +207,13 @@
  18.218  	can subvert it at will by overriding the hook.
  18.219        </para>
  18.220  
  18.221 -      <para>Instead, you can set up your policies for use of Mercurial
  18.222 +      <para id="x_203">Instead, you can set up your policies for use of Mercurial
  18.223  	so that people are expected to propagate changes through a
  18.224  	well-known <quote>canonical</quote> server that you have
  18.225  	locked down and configured appropriately.
  18.226        </para>
  18.227  
  18.228 -      <para>One way to do this is via a combination of social
  18.229 +      <para id="x_204">One way to do this is via a combination of social
  18.230  	engineering and technology.  Set up a restricted-access
  18.231  	account; users can push changes over the network to
  18.232  	repositories managed by this account, but they cannot log into
  18.233 @@ -222,7 +222,7 @@
  18.234  	they want.
  18.235        </para>
  18.236  
  18.237 -      <para>When someone pushes a changeset to the server that
  18.238 +      <para id="x_205">When someone pushes a changeset to the server that
  18.239  	everyone pulls from, the server will test the changeset before
  18.240  	it accepts it as permanent, and reject it if it fails to pass
  18.241  	the test suite.  If people only pull changes from this
  18.242 @@ -236,19 +236,19 @@
  18.243      <title>Care with <literal>pretxn</literal> hooks in a
  18.244        shared-access repository</title>
  18.245  
  18.246 -    <para>If you want to use hooks to do some automated work in a
  18.247 +    <para id="x_206">If you want to use hooks to do some automated work in a
  18.248        repository that a number of people have shared access to, you
  18.249        need to be careful in how you do this.
  18.250      </para>
  18.251  
  18.252 -    <para>Mercurial only locks a repository when it is writing to the
  18.253 +    <para id="x_207">Mercurial only locks a repository when it is writing to the
  18.254        repository, and only the parts of Mercurial that write to the
  18.255        repository pay attention to locks.  Write locks are necessary to
  18.256        prevent multiple simultaneous writers from scribbling on each
  18.257        other's work, corrupting the repository.
  18.258      </para>
  18.259  
  18.260 -    <para>Because Mercurial is careful with the order in which it
  18.261 +    <para id="x_208">Because Mercurial is careful with the order in which it
  18.262        reads and writes data, it does not need to acquire a lock when
  18.263        it wants to read data from the repository.  The parts of
  18.264        Mercurial that read from the repository never pay attention to
  18.265 @@ -256,14 +256,14 @@
  18.266        performance and concurrency.
  18.267      </para>
  18.268  
  18.269 -    <para>With great performance comes a trade-off, though, one which
  18.270 +    <para id="x_209">With great performance comes a trade-off, though, one which
  18.271        has the potential to cause you trouble unless you're aware of
  18.272        it.  To describe this requires a little detail about how
  18.273        Mercurial adds changesets to a repository and reads those
  18.274        changes.
  18.275      </para>
  18.276  
  18.277 -    <para>When Mercurial <emphasis>writes</emphasis> metadata, it
  18.278 +    <para id="x_20a">When Mercurial <emphasis>writes</emphasis> metadata, it
  18.279        writes it straight into the destination file.  It writes file
  18.280        data first, then manifest data (which contains pointers to the
  18.281        new file data), then changelog data (which contains pointers to
  18.282 @@ -274,13 +274,13 @@
  18.283        before the transaction began.
  18.284      </para>
  18.285  
  18.286 -    <para>When Mercurial <emphasis>reads</emphasis> metadata, it reads
  18.287 +    <para id="x_20b">When Mercurial <emphasis>reads</emphasis> metadata, it reads
  18.288        the changelog first, then everything else.  Since a reader will
  18.289        only access parts of the manifest or file metadata that it can
  18.290        see in the changelog, it can never see partially written data.
  18.291      </para>
  18.292  
  18.293 -    <para>Some controlling hooks (<literal
  18.294 +    <para id="x_20c">Some controlling hooks (<literal
  18.295  	role="hook">pretxncommit</literal> and <literal
  18.296  	role="hook">pretxnchangegroup</literal>) run when a
  18.297        transaction is almost complete. All of the metadata has been
  18.298 @@ -288,7 +288,7 @@
  18.299        cause the newly-written data to disappear.
  18.300      </para>
  18.301  
  18.302 -    <para>If one of these hooks runs for long, it opens a window of
  18.303 +    <para id="x_20d">If one of these hooks runs for long, it opens a window of
  18.304        time during which a reader can see the metadata for changesets
  18.305        that are not yet permanent, and should not be thought of as
  18.306        <quote>really there</quote>.  The longer the hook runs, the
  18.307 @@ -298,7 +298,7 @@
  18.308      <sect2>
  18.309        <title>The problem illustrated</title>
  18.310  
  18.311 -      <para>In principle, a good use for the <literal
  18.312 +      <para id="x_20e">In principle, a good use for the <literal
  18.313  	  role="hook">pretxnchangegroup</literal> hook would be to
  18.314  	automatically build and test incoming changes before they are
  18.315  	accepted into a central repository.  This could let you
  18.316 @@ -309,7 +309,7 @@
  18.317  	potentially breaking their build.
  18.318        </para>
  18.319  
  18.320 -      <para>The safest technological answer to this challenge is to
  18.321 +      <para id="x_20f">The safest technological answer to this challenge is to
  18.322  	set up such a <quote>gatekeeper</quote> repository as
  18.323  	<emphasis>unidirectional</emphasis>.  Let it take changes
  18.324  	pushed in from the outside, but do not allow anyone to pull
  18.325 @@ -321,7 +321,7 @@
  18.326  	<emphasis>can</emphasis> pull from.
  18.327        </para>
  18.328  
  18.329 -      <para>In practice, putting a centralised bottleneck like this in
  18.330 +      <para id="x_210">In practice, putting a centralised bottleneck like this in
  18.331  	place is not often a good idea, and transaction visibility has
  18.332  	nothing to do with the problem.  As the size of a
  18.333  	project&emdash;and the time it takes to build and
  18.334 @@ -332,7 +332,7 @@
  18.335  	involved.
  18.336        </para>
  18.337  
  18.338 -      <para>An approach that scales better is to get people to build
  18.339 +      <para id="x_211">An approach that scales better is to get people to build
  18.340  	and test before they push, then run automated builds and tests
  18.341  	centrally <emphasis>after</emphasis> a push, to be sure all is
  18.342  	well.  The advantage of this approach is that it does not
  18.343 @@ -342,21 +342,21 @@
  18.344  
  18.345      </sect2>
  18.346    </sect1>
  18.347 -  <sect1 id="sec.hook.simple">
  18.348 +  <sect1 id="sec:hook:simple">
  18.349      <title>A short tutorial on using hooks</title>
  18.350  
  18.351 -    <para>It is easy to write a Mercurial hook.  Let's start with a
  18.352 +    <para id="x_212">It is easy to write a Mercurial hook.  Let's start with a
  18.353        hook that runs when you finish a <command role="hg-cmd">hg
  18.354  	commit</command>, and simply prints the hash of the changeset
  18.355        you just created.  The hook is called <literal
  18.356  	role="hook">commit</literal>.
  18.357      </para>
  18.358  
  18.359 -    <para>All hooks follow the pattern in this example.</para>
  18.360 +    <para id="x_213">All hooks follow the pattern in this example.</para>
  18.361  
  18.362  &interaction.hook.simple.init;
  18.363  
  18.364 -    <para>You add an entry to the <literal
  18.365 +    <para id="x_214">You add an entry to the <literal
  18.366  	role="rc-hooks">hooks</literal> section of your <filename
  18.367  	role="special">~/.hgrc</filename>.  On the left is the name of
  18.368        the event to trigger on; on the right is the action to take.  As
  18.369 @@ -368,12 +368,12 @@
  18.370      <sect2>
  18.371        <title>Performing multiple actions per event</title>
  18.372  
  18.373 -      <para>Quite often, you will want to define more than one hook
  18.374 +      <para id="x_215">Quite often, you will want to define more than one hook
  18.375  	for a particular kind of event, as shown below.</para>
  18.376  
  18.377  &interaction.hook.simple.ext;
  18.378  
  18.379 -      <para>Mercurial lets you do this by adding an
  18.380 +      <para id="x_216">Mercurial lets you do this by adding an
  18.381  	<emphasis>extension</emphasis> to the end of a hook's name.
  18.382  	You extend a hook's name by giving the name of the hook,
  18.383  	followed by a full stop (the
  18.384 @@ -384,7 +384,7 @@
  18.385  	<literal>commit</literal> event occurs.
  18.386        </para>
  18.387  
  18.388 -      <para>To give a well-defined order of execution when there are
  18.389 +      <para id="x_217">To give a well-defined order of execution when there are
  18.390  	multiple hooks defined for an event, Mercurial sorts hooks by
  18.391  	extension, and executes the hook commands in this sorted
  18.392  	order.  In the above example, it will execute
  18.393 @@ -393,33 +393,33 @@
  18.394  	before both.
  18.395        </para>
  18.396  
  18.397 -      <para>It is a good idea to use a somewhat descriptive extension
  18.398 -	when you define a new hook.  This will help you to remember
  18.399 -	what the hook was for.  If the hook fails, you'll get an error
  18.400 -	message that contains the hook name and extension, so using a
  18.401 -	descriptive extension could give you an immediate hint as to
  18.402 -	why the hook failed (see section <xref
  18.403 -	  linkend="sec.hook.perm"/> for an example).
  18.404 -      </para>
  18.405 -
  18.406 -    </sect2>
  18.407 -    <sect2 id="sec.hook.perm">
  18.408 +      <para id="x_218">It is a good idea to use a somewhat descriptive
  18.409 +	extension when you define a new hook.  This will help you to
  18.410 +	remember what the hook was for.  If the hook fails, you'll get
  18.411 +	an error message that contains the hook name and extension, so
  18.412 +	using a descriptive extension could give you an immediate hint
  18.413 +	as to why the hook failed (see <xref
  18.414 +	  linkend="sec:hook:perm"/> for an example).
  18.415 +      </para>
  18.416 +
  18.417 +    </sect2>
  18.418 +    <sect2 id="sec:hook:perm">
  18.419        <title>Controlling whether an activity can proceed</title>
  18.420  
  18.421 -      <para>In our earlier examples, we used the <literal
  18.422 +      <para id="x_219">In our earlier examples, we used the <literal
  18.423  	  role="hook">commit</literal> hook, which is run after a
  18.424  	commit has completed.  This is one of several Mercurial hooks
  18.425  	that run after an activity finishes.  Such hooks have no way
  18.426  	of influencing the activity itself.
  18.427        </para>
  18.428  
  18.429 -      <para>Mercurial defines a number of events that occur before an
  18.430 +      <para id="x_21a">Mercurial defines a number of events that occur before an
  18.431  	activity starts; or after it starts, but before it finishes.
  18.432  	Hooks that trigger on these events have the added ability to
  18.433  	choose whether the activity can continue, or will abort.
  18.434        </para>
  18.435  
  18.436 -      <para>The <literal role="hook">pretxncommit</literal> hook runs
  18.437 +      <para id="x_21b">The <literal role="hook">pretxncommit</literal> hook runs
  18.438  	after a commit has all but completed.  In other words, the
  18.439  	metadata representing the changeset has been written out to
  18.440  	disk, but the transaction has not yet been allowed to
  18.441 @@ -428,7 +428,7 @@
  18.442  	complete, or must be rolled back.
  18.443        </para>
  18.444  
  18.445 -      <para>If the <literal role="hook">pretxncommit</literal> hook
  18.446 +      <para id="x_21c">If the <literal role="hook">pretxncommit</literal> hook
  18.447  	exits with a status code of zero, the transaction is allowed
  18.448  	to complete; the commit finishes; and the <literal
  18.449  	  role="hook">commit</literal> hook is run.  If the <literal
  18.450 @@ -440,7 +440,7 @@
  18.451  
  18.452  &interaction.hook.simple.pretxncommit;
  18.453  
  18.454 -      <para>The hook in the example above checks that a commit comment
  18.455 +      <para id="x_21d">The hook in the example above checks that a commit comment
  18.456  	contains a bug ID.  If it does, the commit can complete.  If
  18.457  	not, the commit is rolled back.
  18.458        </para>
  18.459 @@ -450,7 +450,7 @@
  18.460    <sect1>
  18.461      <title>Writing your own hooks</title>
  18.462  
  18.463 -    <para>When you are writing a hook, you might find it useful to run
  18.464 +    <para id="x_21e">When you are writing a hook, you might find it useful to run
  18.465        Mercurial either with the <option
  18.466  	role="hg-opt-global">-v</option> option, or the <envar
  18.467  	role="rc-item-ui">verbose</envar> config item set to
  18.468 @@ -458,22 +458,22 @@
  18.469        message before it calls each hook.
  18.470      </para>
  18.471  
  18.472 -    <sect2 id="sec.hook.lang">
  18.473 +    <sect2 id="sec:hook:lang">
  18.474        <title>Choosing how your hook should run</title>
  18.475  
  18.476 -      <para>You can write a hook either as a normal
  18.477 +      <para id="x_21f">You can write a hook either as a normal
  18.478  	program&emdash;typically a shell script&emdash;or as a Python
  18.479  	function that is executed within the Mercurial process.
  18.480        </para>
  18.481  
  18.482 -      <para>Writing a hook as an external program has the advantage
  18.483 +      <para id="x_220">Writing a hook as an external program has the advantage
  18.484  	that it requires no knowledge of Mercurial's internals.  You
  18.485  	can call normal Mercurial commands to get any added
  18.486  	information you need.  The trade-off is that external hooks
  18.487  	are slower than in-process hooks.
  18.488        </para>
  18.489  
  18.490 -      <para>An in-process Python hook has complete access to the
  18.491 +      <para id="x_221">An in-process Python hook has complete access to the
  18.492  	Mercurial API, and does not <quote>shell out</quote> to
  18.493  	another process, so it is inherently faster than an external
  18.494  	hook.  It is also easier to obtain much of the information
  18.495 @@ -481,7 +481,7 @@
  18.496  	running Mercurial commands.
  18.497        </para>
  18.498  
  18.499 -      <para>If you are comfortable with Python, or require high
  18.500 +      <para id="x_222">If you are comfortable with Python, or require high
  18.501  	performance, writing your hooks in Python may be a good
  18.502  	choice.  However, when you have a straightforward hook to
  18.503  	write and you don't need to care about performance (probably
  18.504 @@ -489,16 +489,16 @@
  18.505        </para>
  18.506  
  18.507      </sect2>
  18.508 -    <sect2 id="sec.hook.param">
  18.509 +    <sect2 id="sec:hook:param">
  18.510        <title>Hook parameters</title>
  18.511  
  18.512 -      <para>Mercurial calls each hook with a set of well-defined
  18.513 +      <para id="x_223">Mercurial calls each hook with a set of well-defined
  18.514  	parameters.  In Python, a parameter is passed as a keyword
  18.515  	argument to your hook function.  For an external program, a
  18.516  	parameter is passed as an environment variable.
  18.517        </para>
  18.518  
  18.519 -      <para>Whether your hook is written in Python or as a shell
  18.520 +      <para id="x_224">Whether your hook is written in Python or as a shell
  18.521  	script, the hook-specific parameter names and values will be
  18.522  	the same.  A boolean parameter will be represented as a
  18.523  	boolean value in Python, but as the number 1 (for
  18.524 @@ -514,7 +514,7 @@
  18.525      <sect2>
  18.526        <title>Hook return values and activity control</title>
  18.527  
  18.528 -      <para>A hook that executes successfully must exit with a status
  18.529 +      <para id="x_225">A hook that executes successfully must exit with a status
  18.530  	of zero if external, or return boolean <quote>false</quote> if
  18.531  	in-process.  Failure is indicated with a non-zero exit status
  18.532  	from an external hook, or an in-process hook returning boolean
  18.533 @@ -522,7 +522,7 @@
  18.534  	exception, the hook is considered to have failed.
  18.535        </para>
  18.536  
  18.537 -      <para>For a hook that controls whether an activity can proceed,
  18.538 +      <para id="x_226">For a hook that controls whether an activity can proceed,
  18.539  	zero/false means <quote>allow</quote>, while
  18.540  	non-zero/true/exception means <quote>deny</quote>.
  18.541        </para>
  18.542 @@ -531,23 +531,23 @@
  18.543      <sect2>
  18.544        <title>Writing an external hook</title>
  18.545  
  18.546 -      <para>When you define an external hook in your <filename
  18.547 +      <para id="x_227">When you define an external hook in your <filename
  18.548  	  role="special">~/.hgrc</filename> and the hook is run, its
  18.549  	value is passed to your shell, which interprets it.  This
  18.550  	means that you can use normal shell constructs in the body of
  18.551  	the hook.
  18.552        </para>
  18.553  
  18.554 -      <para>An executable hook is always run with its current
  18.555 +      <para id="x_228">An executable hook is always run with its current
  18.556  	directory set to a repository's root directory.
  18.557        </para>
  18.558  
  18.559 -      <para>Each hook parameter is passed in as an environment
  18.560 +      <para id="x_229">Each hook parameter is passed in as an environment
  18.561  	variable; the name is upper-cased, and prefixed with the
  18.562  	string <quote><literal>HG_</literal></quote>.
  18.563        </para>
  18.564  
  18.565 -      <para>With the exception of hook parameters, Mercurial does not
  18.566 +      <para id="x_22a">With the exception of hook parameters, Mercurial does not
  18.567  	set or modify any environment variables when running a hook.
  18.568  	This is useful to remember if you are writing a site-wide hook
  18.569  	that may be run by a number of different users with differing
  18.570 @@ -560,7 +560,7 @@
  18.571      <sect2>
  18.572        <title>Telling Mercurial to use an in-process hook</title>
  18.573  
  18.574 -      <para>The <filename role="special">~/.hgrc</filename> syntax
  18.575 +      <para id="x_22b">The <filename role="special">~/.hgrc</filename> syntax
  18.576  	for defining an in-process hook is slightly different than for
  18.577  	an executable hook.  The value of the hook must start with the
  18.578  	text <quote><literal>python:</literal></quote>, and continue
  18.579 @@ -568,19 +568,19 @@
  18.580  	the hook's value.
  18.581        </para>
  18.582  
  18.583 -      <para>The module in which a hook lives is automatically imported
  18.584 +      <para id="x_22c">The module in which a hook lives is automatically imported
  18.585  	when a hook is run.  So long as you have the module name and
  18.586  	<envar>PYTHONPATH</envar> right, it should <quote>just
  18.587  	  work</quote>.
  18.588        </para>
  18.589  
  18.590 -      <para>The following <filename role="special">~/.hgrc</filename>
  18.591 +      <para id="x_22d">The following <filename role="special">~/.hgrc</filename>
  18.592  	example snippet illustrates the syntax and meaning of the
  18.593  	notions we just described.
  18.594        </para>
  18.595        <programlisting>[hooks]
  18.596  commit.example = python:mymodule.submodule.myhook</programlisting>
  18.597 -      <para>When Mercurial runs the <literal>commit.example</literal>
  18.598 +      <para id="x_22e">When Mercurial runs the <literal>commit.example</literal>
  18.599  	hook, it imports <literal>mymodule.submodule</literal>, looks
  18.600  	for the callable object named <literal>myhook</literal>, and
  18.601  	calls it.
  18.602 @@ -590,12 +590,12 @@
  18.603      <sect2>
  18.604        <title>Writing an in-process hook</title>
  18.605  
  18.606 -      <para>The simplest in-process hook does nothing, but illustrates
  18.607 +      <para id="x_22f">The simplest in-process hook does nothing, but illustrates
  18.608  	the basic shape of the hook API:
  18.609        </para>
  18.610        <programlisting>def myhook(ui, repo, **kwargs):
  18.611      pass</programlisting>
  18.612 -      <para>The first argument to a Python hook is always a <literal
  18.613 +      <para id="x_230">The first argument to a Python hook is always a <literal
  18.614  	  role="py-mod-mercurial.ui">ui</literal> object.  The second
  18.615  	is a repository object; at the moment, it is always an
  18.616  	instance of <literal
  18.617 @@ -615,7 +615,7 @@
  18.618      <sect2>
  18.619        <title>Writing meaningful commit messages</title>
  18.620  
  18.621 -      <para>It's hard to imagine a useful commit message being very
  18.622 +      <para id="x_231">It's hard to imagine a useful commit message being very
  18.623  	short. The simple <literal role="hook">pretxncommit</literal>
  18.624  	hook of the example below will prevent you from committing a
  18.625  	changeset with a message that is less than ten bytes long.
  18.626 @@ -627,7 +627,7 @@
  18.627      <sect2>
  18.628        <title>Checking for trailing whitespace</title>
  18.629  
  18.630 -      <para>An interesting use of a commit-related hook is to help you
  18.631 +      <para id="x_232">An interesting use of a commit-related hook is to help you
  18.632  	to write cleaner code.  A simple example of <quote>cleaner
  18.633  	  code</quote> is the dictum that a change should not add any
  18.634  	new lines of text that contain <quote>trailing
  18.635 @@ -638,7 +638,7 @@
  18.636  	prefer to get rid of it.
  18.637        </para>
  18.638  
  18.639 -      <para>You can use either the <literal
  18.640 +      <para id="x_233">You can use either the <literal
  18.641  	  role="hook">precommit</literal> or <literal
  18.642  	  role="hook">pretxncommit</literal> hook to tell whether you
  18.643  	have a trailing whitespace problem.  If you use the <literal
  18.644 @@ -654,7 +654,7 @@
  18.645  	seem right.
  18.646        </para>
  18.647  
  18.648 -      <para>Should you choose the <literal
  18.649 +      <para id="x_234">Should you choose the <literal
  18.650  	  role="hook">pretxncommit</literal> hook, the check won't
  18.651  	occur until just before the transaction for the commit
  18.652  	completes.  This will allow you to check for problems only the
  18.653 @@ -667,7 +667,7 @@
  18.654  
  18.655  &interaction.hook.ws.simple;
  18.656  
  18.657 -      <para>In this example, we introduce a simple <literal
  18.658 +      <para id="x_235">In this example, we introduce a simple <literal
  18.659  	  role="hook">pretxncommit</literal> hook that checks for
  18.660  	trailing whitespace.  This hook is short, but not very
  18.661  	helpful.  It exits with an error status if a change adds a
  18.662 @@ -678,7 +678,7 @@
  18.663  	trailing whitespace cause problems.
  18.664        </para>
  18.665  
  18.666 -      <para>The above version is much more complex, but also more
  18.667 +      <para id="x_236">The above version is much more complex, but also more
  18.668  	useful.  It parses a unified diff to see if any lines add
  18.669  	trailing whitespace, and prints the name of the file and the
  18.670  	line number of each such occurrence.  Even better, if the
  18.671 @@ -692,7 +692,7 @@
  18.672  
  18.673  &interaction.hook.ws.better;
  18.674  
  18.675 -      <para>As a final aside, note in the example above the use of
  18.676 +      <para id="x_237">As a final aside, note in the example above the use of
  18.677  	<command>perl</command>'s in-place editing feature to get rid
  18.678  	of trailing whitespace from a file.  This is concise and
  18.679  	useful enough that I will reproduce it here.
  18.680 @@ -704,7 +704,7 @@
  18.681    <sect1>
  18.682      <title>Bundled hooks</title>
  18.683  
  18.684 -    <para>Mercurial ships with several bundled hooks.  You can find
  18.685 +    <para id="x_238">Mercurial ships with several bundled hooks.  You can find
  18.686        them in the <filename class="directory">hgext</filename>
  18.687        directory of a Mercurial source tree.  If you are using a
  18.688        Mercurial binary package, the hooks will be located in the
  18.689 @@ -716,7 +716,7 @@
  18.690        <title><literal role="hg-ext">acl</literal>&emdash;access
  18.691  	control for parts of a repository</title>
  18.692  
  18.693 -      <para>The <literal role="hg-ext">acl</literal> extension lets
  18.694 +      <para id="x_239">The <literal role="hg-ext">acl</literal> extension lets
  18.695  	you control which remote users are allowed to push changesets
  18.696  	to a networked server.  You can protect any portion of a
  18.697  	repository (including the entire repo), so that a specific
  18.698 @@ -724,7 +724,7 @@
  18.699  	portion.
  18.700        </para>
  18.701  
  18.702 -      <para>This extension implements access control based on the
  18.703 +      <para id="x_23a">This extension implements access control based on the
  18.704  	identity of the user performing a push,
  18.705  	<emphasis>not</emphasis> on who committed the changesets
  18.706  	they're pushing.  It makes sense to use this hook only if you
  18.707 @@ -737,7 +737,7 @@
  18.708  	<title>Configuring the <literal role="hook">acl</literal>
  18.709  	  hook</title>
  18.710  
  18.711 -	<para>In order to manage incoming changesets, the <literal
  18.712 +	<para id="x_23b">In order to manage incoming changesets, the <literal
  18.713  	    role="hg-ext">acl</literal> hook must be used as a
  18.714  	  <literal role="hook">pretxnchangegroup</literal> hook.  This
  18.715  	  lets it see which files are modified by each incoming
  18.716 @@ -747,18 +747,18 @@
  18.717  	<programlisting>[hooks]
  18.718  pretxnchangegroup.acl = python:hgext.acl.hook</programlisting>
  18.719  
  18.720 -	<para>The <literal role="hg-ext">acl</literal> extension is
  18.721 +	<para id="x_23c">The <literal role="hg-ext">acl</literal> extension is
  18.722  	  configured using three sections.
  18.723  	</para>
  18.724  
  18.725 -	<para>The <literal role="rc-acl">acl</literal> section has
  18.726 +	<para id="x_23d">The <literal role="rc-acl">acl</literal> section has
  18.727  	  only one entry, <envar role="rc-item-acl">sources</envar>,
  18.728  	  which lists the sources of incoming changesets that the hook
  18.729  	  should pay attention to.  You don't normally need to
  18.730  	  configure this section.
  18.731  	</para>
  18.732  	<itemizedlist>
  18.733 -	  <listitem><para><envar role="rc-item-acl">serve</envar>:
  18.734 +	  <listitem><para id="x_23e"><envar role="rc-item-acl">serve</envar>:
  18.735  	      Control incoming changesets that are arriving from a
  18.736  	      remote repository over http or ssh.  This is the default
  18.737  	      value of <envar role="rc-item-acl">sources</envar>, and
  18.738 @@ -766,23 +766,23 @@
  18.739  	      configuration item.
  18.740  	    </para>
  18.741  	  </listitem>
  18.742 -	  <listitem><para><envar role="rc-item-acl">pull</envar>:
  18.743 +	  <listitem><para id="x_23f"><envar role="rc-item-acl">pull</envar>:
  18.744  	      Control incoming changesets that are arriving via a pull
  18.745  	      from a local repository.
  18.746  	    </para>
  18.747  	  </listitem>
  18.748 -	  <listitem><para><envar role="rc-item-acl">push</envar>:
  18.749 +	  <listitem><para id="x_240"><envar role="rc-item-acl">push</envar>:
  18.750  	      Control incoming changesets that are arriving via a push
  18.751  	      from a local repository.
  18.752  	    </para>
  18.753  	  </listitem>
  18.754 -	  <listitem><para><envar role="rc-item-acl">bundle</envar>:
  18.755 +	  <listitem><para id="x_241"><envar role="rc-item-acl">bundle</envar>:
  18.756  	      Control incoming changesets that are arriving from
  18.757  	      another repository via a bundle.
  18.758  	    </para>
  18.759  	  </listitem></itemizedlist>
  18.760  
  18.761 -	<para>The <literal role="rc-acl.allow">acl.allow</literal>
  18.762 +	<para id="x_242">The <literal role="rc-acl.allow">acl.allow</literal>
  18.763  	  section controls the users that are allowed to add
  18.764  	  changesets to the repository.  If this section is not
  18.765  	  present, all users that are not explicitly denied are
  18.766 @@ -791,13 +791,13 @@
  18.767  	  that all users are denied).
  18.768  	</para>
  18.769  
  18.770 -	<para>The <literal role="rc-acl.deny">acl.deny</literal>
  18.771 +	<para id="x_243">The <literal role="rc-acl.deny">acl.deny</literal>
  18.772  	  section determines which users are denied from adding
  18.773  	  changesets to the repository.  If this section is not
  18.774  	  present or is empty, no users are denied.
  18.775  	</para>
  18.776  
  18.777 -	<para>The syntaxes for the <literal
  18.778 +	<para id="x_244">The syntaxes for the <literal
  18.779  	    role="rc-acl.allow">acl.allow</literal> and <literal
  18.780  	    role="rc-acl.deny">acl.deny</literal> sections are
  18.781  	  identical.  On the left of each entry is a glob pattern that
  18.782 @@ -805,7 +805,7 @@
  18.783  	  repository; on the right, a user name.
  18.784  	</para>
  18.785  
  18.786 -	<para>In the following example, the user
  18.787 +	<para id="x_245">In the following example, the user
  18.788  	  <literal>docwriter</literal> can only push changes to the
  18.789  	  <filename class="directory">docs</filename> subtree of the
  18.790  	  repository, while <literal>intern</literal> can push changes
  18.791 @@ -821,7 +821,7 @@
  18.792        <sect3>
  18.793  	<title>Testing and troubleshooting</title>
  18.794  
  18.795 -	<para>If you want to test the <literal
  18.796 +	<para id="x_246">If you want to test the <literal
  18.797  	    role="hg-ext">acl</literal> hook, run it with Mercurial's
  18.798  	  debugging output enabled.  Since you'll probably be running
  18.799  	  it on a server where it's not convenient (or sometimes
  18.800 @@ -832,7 +832,7 @@
  18.801  	</para>
  18.802  	<programlisting>[ui]
  18.803  debug = true</programlisting>
  18.804 -	<para>With this enabled, the <literal
  18.805 +	<para id="x_247">With this enabled, the <literal
  18.806  	    role="hg-ext">acl</literal> hook will print enough
  18.807  	  information to let you figure out why it is allowing or
  18.808  	  forbidding pushes from specific users.
  18.809 @@ -845,14 +845,14 @@
  18.810  	  role="hg-ext">bugzilla</literal>&emdash;integration with
  18.811  	Bugzilla</title>
  18.812  
  18.813 -      <para>The <literal role="hg-ext">bugzilla</literal> extension
  18.814 +      <para id="x_248">The <literal role="hg-ext">bugzilla</literal> extension
  18.815  	adds a comment to a Bugzilla bug whenever it finds a reference
  18.816  	to that bug ID in a commit comment.  You can install this hook
  18.817  	on a shared server, so that any time a remote user pushes
  18.818  	changes to this server, the hook gets run.
  18.819        </para>
  18.820  
  18.821 -      <para>It adds a comment to the bug that looks like this (you can
  18.822 +      <para id="x_249">It adds a comment to the bug that looks like this (you can
  18.823  	configure the contents of the comment&emdash;see below):
  18.824        </para>
  18.825        <programlisting>Changeset aad8b264143a, made by Joe User
  18.826 @@ -861,19 +861,19 @@
  18.827  	http://hg.domain.com/frobnitz?cmd=changeset;node=aad8b264143a
  18.828  	Changeset description: Fix bug 10483 by guarding against some
  18.829  	NULL pointers</programlisting>
  18.830 -      <para>The value of this hook is that it automates the process of
  18.831 +      <para id="x_24a">The value of this hook is that it automates the process of
  18.832  	updating a bug any time a changeset refers to it.  If you
  18.833  	configure the hook properly, it makes it easy for people to
  18.834  	browse straight from a Bugzilla bug to a changeset that refers
  18.835  	to that bug.
  18.836        </para>
  18.837  
  18.838 -      <para>You can use the code in this hook as a starting point for
  18.839 +      <para id="x_24b">You can use the code in this hook as a starting point for
  18.840  	some more exotic Bugzilla integration recipes.  Here are a few
  18.841  	possibilities:
  18.842        </para>
  18.843        <itemizedlist>
  18.844 -	<listitem><para>Require that every changeset pushed to the
  18.845 +	<listitem><para id="x_24c">Require that every changeset pushed to the
  18.846  	    server have a valid bug ID in its commit comment.  In this
  18.847  	    case, you'd want to configure the hook as a <literal
  18.848  	      role="hook">pretxncommit</literal> hook.  This would
  18.849 @@ -881,7 +881,7 @@
  18.850  	    IDs.
  18.851  	  </para>
  18.852  	</listitem>
  18.853 -	<listitem><para>Allow incoming changesets to automatically
  18.854 +	<listitem><para id="x_24d">Allow incoming changesets to automatically
  18.855  	    modify the <emphasis>state</emphasis> of a bug, as well as
  18.856  	    simply adding a comment.  For example, the hook could
  18.857  	    recognise the string <quote>fixed bug 31337</quote> as
  18.858 @@ -890,11 +890,11 @@
  18.859  	  </para>
  18.860  	</listitem></itemizedlist>
  18.861  
  18.862 -      <sect3 id="sec.hook.bugzilla.config">
  18.863 +      <sect3 id="sec:hook:bugzilla:config">
  18.864  	<title>Configuring the <literal role="hook">bugzilla</literal>
  18.865  	  hook</title>
  18.866  
  18.867 -	<para>You should configure this hook in your server's
  18.868 +	<para id="x_24e">You should configure this hook in your server's
  18.869  	  <filename role="special">~/.hgrc</filename> as an <literal
  18.870  	    role="hook">incoming</literal> hook, for example as
  18.871  	  follows:
  18.872 @@ -902,25 +902,25 @@
  18.873  	<programlisting>[hooks]
  18.874  incoming.bugzilla = python:hgext.bugzilla.hook</programlisting>
  18.875  
  18.876 -	<para>Because of the specialised nature of this hook, and
  18.877 +	<para id="x_24f">Because of the specialised nature of this hook, and
  18.878  	  because Bugzilla was not written with this kind of
  18.879  	  integration in mind, configuring this hook is a somewhat
  18.880  	  involved process.
  18.881  	</para>
  18.882  
  18.883 -	<para>Before you begin, you must install the MySQL bindings
  18.884 +	<para id="x_250">Before you begin, you must install the MySQL bindings
  18.885  	  for Python on the host(s) where you'll be running the hook.
  18.886  	  If this is not available as a binary package for your
  18.887  	  system, you can download it from
  18.888  	  <citation>web:mysql-python</citation>.
  18.889  	</para>
  18.890  
  18.891 -	<para>Configuration information for this hook lives in the
  18.892 +	<para id="x_251">Configuration information for this hook lives in the
  18.893  	  <literal role="rc-bugzilla">bugzilla</literal> section of
  18.894  	  your <filename role="special">~/.hgrc</filename>.
  18.895  	</para>
  18.896  	<itemizedlist>
  18.897 -	  <listitem><para><envar
  18.898 +	  <listitem><para id="x_252"><envar
  18.899  		role="rc-item-bugzilla">version</envar>: The version
  18.900  	      of Bugzilla installed on the server.  The database
  18.901  	      schema that Bugzilla uses changes occasionally, so this
  18.902 @@ -929,14 +929,14 @@
  18.903  	      <literal>2.16</literal>.
  18.904  	    </para>
  18.905  	  </listitem>
  18.906 -	  <listitem><para><envar role="rc-item-bugzilla">host</envar>:
  18.907 +	  <listitem><para id="x_253"><envar role="rc-item-bugzilla">host</envar>:
  18.908  	      The hostname of the MySQL server that stores your
  18.909  	      Bugzilla data.  The database must be configured to allow
  18.910  	      connections from whatever host you are running the
  18.911  	      <literal role="hook">bugzilla</literal> hook on.
  18.912  	    </para>
  18.913  	  </listitem>
  18.914 -	  <listitem><para><envar role="rc-item-bugzilla">user</envar>:
  18.915 +	  <listitem><para id="x_254"><envar role="rc-item-bugzilla">user</envar>:
  18.916  	      The username with which to connect to the MySQL server.
  18.917  	      The database must be configured to allow this user to
  18.918  	      connect from whatever host you are running the <literal
  18.919 @@ -947,7 +947,7 @@
  18.920  	      MySQL database.
  18.921  	    </para>
  18.922  	  </listitem>
  18.923 -	  <listitem><para><envar
  18.924 +	  <listitem><para id="x_255"><envar
  18.925  		role="rc-item-bugzilla">password</envar>: The MySQL
  18.926  	      password for the user you configured above.  This is
  18.927  	      stored as plain text, so you should make sure that
  18.928 @@ -956,14 +956,14 @@
  18.929  	      store this information.
  18.930  	    </para>
  18.931  	  </listitem>
  18.932 -	  <listitem><para><envar role="rc-item-bugzilla">db</envar>:
  18.933 +	  <listitem><para id="x_256"><envar role="rc-item-bugzilla">db</envar>:
  18.934  	      The name of the Bugzilla database on the MySQL server.
  18.935  	      The default value of this item is
  18.936  	      <literal>bugs</literal>, which is the standard name of
  18.937  	      the MySQL database where Bugzilla stores its data.
  18.938  	    </para>
  18.939  	  </listitem>
  18.940 -	  <listitem><para><envar
  18.941 +	  <listitem><para id="x_257"><envar
  18.942  		role="rc-item-bugzilla">notify</envar>: If you want
  18.943  	      Bugzilla to send out a notification email to subscribers
  18.944  	      after this hook has added a comment to a bug, you will
  18.945 @@ -976,7 +976,7 @@
  18.946  	    <programlisting>cd /var/www/html/bugzilla &amp;&amp;
  18.947  	      ./processmail %s nobody@nowhere.com</programlisting>
  18.948  	  </listitem>
  18.949 -	  <listitem><para>  The Bugzilla
  18.950 +	  <listitem><para id="x_258">  The Bugzilla
  18.951  	      <literal>processmail</literal> program expects to be
  18.952  	      given a bug ID (the hook replaces
  18.953  	      <quote><literal>%s</literal></quote> with the bug ID)
  18.954 @@ -993,7 +993,7 @@
  18.955        <sect3>
  18.956  	<title>Mapping committer names to Bugzilla user names</title>
  18.957  
  18.958 -	<para>By default, the <literal
  18.959 +	<para id="x_259">By default, the <literal
  18.960  	    role="hg-ext">bugzilla</literal> hook tries to use the
  18.961  	  email address of a changeset's committer as the Bugzilla
  18.962  	  user name with which to update a bug.  If this does not suit
  18.963 @@ -1002,14 +1002,14 @@
  18.964  	    role="rc-usermap">usermap</literal> section.
  18.965  	</para>
  18.966  
  18.967 -	<para>Each item in the <literal
  18.968 +	<para id="x_25a">Each item in the <literal
  18.969  	    role="rc-usermap">usermap</literal> section contains an
  18.970  	  email address on the left, and a Bugzilla user name on the
  18.971  	  right.
  18.972  	</para>
  18.973  	<programlisting>[usermap]
  18.974  jane.user@example.com = jane</programlisting>
  18.975 -	<para>You can either keep the <literal
  18.976 +	<para id="x_25b">You can either keep the <literal
  18.977  	    role="rc-usermap">usermap</literal> data in a normal
  18.978  	  <filename role="special">~/.hgrc</filename>, or tell the
  18.979  	  <literal role="hg-ext">bugzilla</literal> hook to read the
  18.980 @@ -1025,7 +1025,7 @@
  18.981  	<programlisting># regular hgrc file refers to external usermap file
  18.982  [bugzilla]
  18.983  usermap = /home/hg/repos/userdata/bugzilla-usermap.conf</programlisting>
  18.984 -	<para>While the <filename>usermap</filename> file that it
  18.985 +	<para id="x_25c">While the <filename>usermap</filename> file that it
  18.986  	  refers to might look like this:
  18.987  	</para>
  18.988  	<programlisting># bugzilla-usermap.conf - inside a hg repository
  18.989 @@ -1035,14 +1035,14 @@
  18.990        <sect3>
  18.991  	<title>Configuring the text that gets added to a bug</title>
  18.992  
  18.993 -	<para>You can configure the text that this hook adds as a
  18.994 +	<para id="x_25d">You can configure the text that this hook adds as a
  18.995  	  comment; you specify it in the form of a Mercurial template.
  18.996  	  Several <filename role="special">~/.hgrc</filename> entries
  18.997  	  (still in the <literal role="rc-bugzilla">bugzilla</literal>
  18.998  	  section) control this behaviour.
  18.999  	</para>
 18.1000  	<itemizedlist>
 18.1001 -	  <listitem><para><literal>strip</literal>: The number of
 18.1002 +	  <listitem><para id="x_25e"><literal>strip</literal>: The number of
 18.1003  	      leading path elements to strip from a repository's path
 18.1004  	      name to construct a partial path for a URL. For example,
 18.1005  	      if the repositories on your server live under <filename
 18.1006 @@ -1056,7 +1056,7 @@
 18.1007  	      expanding a template, as <literal>webroot</literal>.
 18.1008  	    </para>
 18.1009  	  </listitem>
 18.1010 -	  <listitem><para><literal>template</literal>: The text of the
 18.1011 +	  <listitem><para id="x_25f"><literal>template</literal>: The text of the
 18.1012  	      template to use.  In addition to the usual
 18.1013  	      changeset-related variables, this template can use
 18.1014  	      <literal>hgweb</literal> (the value of the
 18.1015 @@ -1066,7 +1066,7 @@
 18.1016  	    </para>
 18.1017  	  </listitem></itemizedlist>
 18.1018  
 18.1019 -	<para>In addition, you can add a <envar
 18.1020 +	<para id="x_260">In addition, you can add a <envar
 18.1021  	    role="rc-item-web">baseurl</envar> item to the <literal
 18.1022  	    role="rc-web">web</literal> section of your <filename
 18.1023  	    role="special">~/.hgrc</filename>.  The <literal
 18.1024 @@ -1078,24 +1078,24 @@
 18.1025  	<programlisting>[web]
 18.1026  baseurl = http://hg.domain.com/</programlisting>
 18.1027  
 18.1028 -	<para>Here is an example set of <literal
 18.1029 +	<para id="x_261">Here is an example set of <literal
 18.1030  	    role="hg-ext">bugzilla</literal> hook config information.
 18.1031  	</para>
 18.1032  
 18.1033 -	<programlisting>&ch10-bugzilla-config.lst;</programlisting>
 18.1034 +	&ch10-bugzilla-config.lst;
 18.1035  
 18.1036        </sect3>
 18.1037        <sect3>
 18.1038  	<title>Testing and troubleshooting</title>
 18.1039  
 18.1040 -	<para>The most common problems with configuring the <literal
 18.1041 +	<para id="x_262">The most common problems with configuring the <literal
 18.1042  	    role="hg-ext">bugzilla</literal> hook relate to running
 18.1043  	  Bugzilla's <filename>processmail</filename> script and
 18.1044  	  mapping committer names to user names.
 18.1045  	</para>
 18.1046  
 18.1047 -	<para>Recall from section <xref
 18.1048 -	    linkend="sec.hook.bugzilla.config"/> above that the user
 18.1049 +	<para id="x_263">Recall from <xref
 18.1050 +	    linkend="sec:hook:bugzilla:config"/> above that the user
 18.1051  	  that runs the Mercurial process on the server is also the
 18.1052  	  one that will run the <filename>processmail</filename>
 18.1053  	  script.  The <filename>processmail</filename> script
 18.1054 @@ -1105,19 +1105,19 @@
 18.1055  	  under.
 18.1056  	</para>
 18.1057  
 18.1058 -	<para>You can cause <filename>processmail</filename> to be run
 18.1059 +	<para id="x_264">You can cause <filename>processmail</filename> to be run
 18.1060  	  with the suitable user's identity using the
 18.1061  	  <command>sudo</command> command.  Here is an example entry
 18.1062  	  for a <filename>sudoers</filename> file.
 18.1063  	</para>
 18.1064  	<programlisting>hg_user = (httpd_user)
 18.1065  NOPASSWD: /var/www/html/bugzilla/processmail-wrapper %s</programlisting>
 18.1066 -	<para>This allows the <literal>hg_user</literal> user to run a
 18.1067 +	<para id="x_265">This allows the <literal>hg_user</literal> user to run a
 18.1068  	  <filename>processmail-wrapper</filename> program under the
 18.1069  	  identity of <literal>httpd_user</literal>.
 18.1070  	</para>
 18.1071  
 18.1072 -	<para>This indirection through a wrapper script is necessary,
 18.1073 +	<para id="x_266">This indirection through a wrapper script is necessary,
 18.1074  	  because <filename>processmail</filename> expects to be run
 18.1075  	  with its current directory set to wherever you installed
 18.1076  	  Bugzilla; you can't specify that kind of constraint in a
 18.1077 @@ -1126,18 +1126,18 @@
 18.1078  	</para>
 18.1079  	<programlisting>#!/bin/sh
 18.1080  cd `dirname $0` &amp;&amp; ./processmail "$1" nobody@example.com</programlisting>
 18.1081 -	<para>It doesn't seem to matter what email address you pass to
 18.1082 +	<para id="x_267">It doesn't seem to matter what email address you pass to
 18.1083  	  <filename>processmail</filename>.
 18.1084  	</para>
 18.1085  
 18.1086 -	<para>If your <literal role="rc-usermap">usermap</literal> is
 18.1087 +	<para id="x_268">If your <literal role="rc-usermap">usermap</literal> is
 18.1088  	  not set up correctly, users will see an error message from
 18.1089  	  the <literal role="hg-ext">bugzilla</literal> hook when they
 18.1090  	  push changes to the server.  The error message will look
 18.1091  	  like this:
 18.1092  	</para>
 18.1093  	<programlisting>cannot find bugzilla user id for john.q.public@example.com</programlisting>
 18.1094 -	<para>What this means is that the committer's address,
 18.1095 +	<para id="x_269">What this means is that the committer's address,
 18.1096  	  <literal>john.q.public@example.com</literal>, is not a valid
 18.1097  	  Bugzilla user name, nor does it have an entry in your
 18.1098  	  <literal role="rc-usermap">usermap</literal> that maps it to
 18.1099 @@ -1150,7 +1150,7 @@
 18.1100        <title><literal role="hg-ext">notify</literal>&emdash;send email
 18.1101  	notifications</title>
 18.1102  
 18.1103 -      <para>Although Mercurial's built-in web server provides RSS
 18.1104 +      <para id="x_26a">Although Mercurial's built-in web server provides RSS
 18.1105  	feeds of changes in every repository, many people prefer to
 18.1106  	receive change notifications via email.  The <literal
 18.1107  	  role="hg-ext">notify</literal> hook lets you send out
 18.1108 @@ -1158,13 +1158,13 @@
 18.1109  	arrive that those subscribers are interested in.
 18.1110        </para>
 18.1111  
 18.1112 -      <para>As with the <literal role="hg-ext">bugzilla</literal>
 18.1113 +      <para id="x_26b">As with the <literal role="hg-ext">bugzilla</literal>
 18.1114  	hook, the <literal role="hg-ext">notify</literal> hook is
 18.1115  	template-driven, so you can customise the contents of the
 18.1116  	notification messages that it sends.
 18.1117        </para>
 18.1118  
 18.1119 -      <para>By default, the <literal role="hg-ext">notify</literal>
 18.1120 +      <para id="x_26c">By default, the <literal role="hg-ext">notify</literal>
 18.1121  	hook includes a diff of every changeset that it sends out; you
 18.1122  	can limit the size of the diff, or turn this feature off
 18.1123  	entirely.  It is useful for letting subscribers review changes
 18.1124 @@ -1175,7 +1175,7 @@
 18.1125  	<title>Configuring the <literal role="hg-ext">notify</literal>
 18.1126  	  hook</title>
 18.1127  
 18.1128 -	<para>You can set up the <literal
 18.1129 +	<para id="x_26d">You can set up the <literal
 18.1130  	    role="hg-ext">notify</literal> hook to send one email
 18.1131  	  message per incoming changeset, or one per incoming group of
 18.1132  	  changesets (all those that arrived in a single pull or
 18.1133 @@ -1187,12 +1187,12 @@
 18.1134  # send one email per change
 18.1135  incoming.notify = python:hgext.notify.hook</programlisting>
 18.1136  
 18.1137 -	<para>Configuration information for this hook lives in the
 18.1138 +	<para id="x_26e">Configuration information for this hook lives in the
 18.1139  	  <literal role="rc-notify">notify</literal> section of a
 18.1140  	  <filename role="special">~/.hgrc</filename> file.
 18.1141  	</para>
 18.1142  	<itemizedlist>
 18.1143 -	  <listitem><para><envar role="rc-item-notify">test</envar>:
 18.1144 +	  <listitem><para id="x_26f"><envar role="rc-item-notify">test</envar>:
 18.1145  	      By default, this hook does not send out email at all;
 18.1146  	      instead, it prints the message that it
 18.1147  	      <emphasis>would</emphasis> send.  Set this item to
 18.1148 @@ -1204,7 +1204,7 @@
 18.1149  	      notifications while you debug your configuration.
 18.1150  	    </para>
 18.1151  	  </listitem>
 18.1152 -	  <listitem><para><envar role="rc-item-notify">config</envar>:
 18.1153 +	  <listitem><para id="x_270"><envar role="rc-item-notify">config</envar>:
 18.1154  	      The path to a configuration file that contains
 18.1155  	      subscription information.  This is kept separate from
 18.1156  	      the main <filename role="special">~/.hgrc</filename> so
 18.1157 @@ -1213,7 +1213,7 @@
 18.1158  	      subscriptions, and push the changes back to your server.
 18.1159  	    </para>
 18.1160  	  </listitem>
 18.1161 -	  <listitem><para><envar role="rc-item-notify">strip</envar>:
 18.1162 +	  <listitem><para id="x_271"><envar role="rc-item-notify">strip</envar>:
 18.1163  	      The number of leading path separator characters to strip
 18.1164  	      from a repository's path, when deciding whether a
 18.1165  	      repository has subscribers.  For example, if the
 18.1166 @@ -1230,13 +1230,13 @@
 18.1167  	      match subscribers against that.
 18.1168  	    </para>
 18.1169  	  </listitem>
 18.1170 -	  <listitem><para><envar
 18.1171 +	  <listitem><para id="x_272"><envar
 18.1172  		role="rc-item-notify">template</envar>: The template
 18.1173  	      text to use when sending messages.  This specifies both
 18.1174  	      the contents of the message header and its body.
 18.1175  	    </para>
 18.1176  	  </listitem>
 18.1177 -	  <listitem><para><envar
 18.1178 +	  <listitem><para id="x_273"><envar
 18.1179  		role="rc-item-notify">maxdiff</envar>: The maximum
 18.1180  	      number of lines of diff data to append to the end of a
 18.1181  	      message.  If a diff is longer than this, it is
 18.1182 @@ -1245,41 +1245,40 @@
 18.1183  	      emails.
 18.1184  	    </para>
 18.1185  	  </listitem>
 18.1186 -	  <listitem><para><envar
 18.1187 +	  <listitem><para id="x_274"><envar
 18.1188  		role="rc-item-notify">sources</envar>: A list of
 18.1189  	      sources of changesets to consider.  This lets you limit
 18.1190  	      <literal role="hg-ext">notify</literal> to only sending
 18.1191  	      out email about changes that remote users pushed into
 18.1192 -	      this repository via a server, for example.  See section
 18.1193 -	      <xref
 18.1194 -		linkend="sec.hook.sources"/> for the sources you can
 18.1195 -	      specify here.
 18.1196 +	      this repository via a server, for example.  See 
 18.1197 +	      <xref linkend="sec:hook:sources"/> for the sources you
 18.1198 +	      can specify here.
 18.1199  	    </para>
 18.1200  	  </listitem></itemizedlist>
 18.1201  
 18.1202 -	<para>If you set the <envar role="rc-item-web">baseurl</envar>
 18.1203 +	<para id="x_275">If you set the <envar role="rc-item-web">baseurl</envar>
 18.1204  	  item in the <literal role="rc-web">web</literal> section,
 18.1205  	  you can use it in a template; it will be available as
 18.1206  	  <literal>webroot</literal>.
 18.1207  	</para>
 18.1208  
 18.1209 -	<para>Here is an example set of <literal
 18.1210 +	<para id="x_276">Here is an example set of <literal
 18.1211  	    role="hg-ext">notify</literal> configuration information.
 18.1212  	</para>
 18.1213  
 18.1214 -	<programlisting>&ch10-notify-config.lst;</programlisting>
 18.1215 -
 18.1216 -	<para>This will produce a message that looks like the
 18.1217 +	&ch10-notify-config.lst;
 18.1218 +
 18.1219 +	<para id="x_277">This will produce a message that looks like the
 18.1220  	  following:
 18.1221  	</para>
 18.1222  
 18.1223 -	<programlisting>&ch10-notify-config-mail.lst;</programlisting>
 18.1224 +	&ch10-notify-config-mail.lst;
 18.1225  
 18.1226        </sect3>
 18.1227        <sect3>
 18.1228  	<title>Testing and troubleshooting</title>
 18.1229  
 18.1230 -	<para>Do not forget that by default, the <literal
 18.1231 +	<para id="x_278">Do not forget that by default, the <literal
 18.1232  		role="hg-ext">notify</literal> extension <emphasis>will not
 18.1233  	  send any mail</emphasis> until you explicitly configure it to do so,
 18.1234  	  by setting <envar role="rc-item-notify">test</envar> to
 18.1235 @@ -1290,17 +1289,17 @@
 18.1236        </sect3>
 18.1237      </sect2>
 18.1238    </sect1>
 18.1239 -  <sect1 id="sec.hook.ref">
 18.1240 +  <sect1 id="sec:hook:ref">
 18.1241      <title>Information for writers of hooks</title>
 18.1242  
 18.1243      <sect2>
 18.1244        <title>In-process hook execution</title>
 18.1245  
 18.1246 -      <para>An in-process hook is called with arguments of the
 18.1247 +      <para id="x_279">An in-process hook is called with arguments of the
 18.1248  	following form:
 18.1249        </para>
 18.1250        <programlisting>def myhook(ui, repo, **kwargs): pass</programlisting>
 18.1251 -      <para>The <literal>ui</literal> parameter is a <literal
 18.1252 +      <para id="x_27a">The <literal>ui</literal> parameter is a <literal
 18.1253  	  role="py-mod-mercurial.ui">ui</literal> object. The
 18.1254  	<literal>repo</literal> parameter is a <literal
 18.1255  	  role="py-mod-mercurial.localrepo">localrepository</literal>
 18.1256 @@ -1309,38 +1308,38 @@
 18.1257  	being invoked, with the following common features:
 18.1258        </para>
 18.1259        <itemizedlist>
 18.1260 -	<listitem><para>If a parameter is named
 18.1261 +	<listitem><para id="x_27b">If a parameter is named
 18.1262  	    <literal>node</literal> or <literal>parentN</literal>, it
 18.1263  	    will contain a hexadecimal changeset ID. The empty string
 18.1264  	    is used to represent <quote>null changeset ID</quote>
 18.1265  	    instead of a string of zeroes.
 18.1266  	  </para>
 18.1267  	</listitem>
 18.1268 -	<listitem><para>If a parameter is named
 18.1269 +	<listitem><para id="x_27c">If a parameter is named
 18.1270  	    <literal>url</literal>, it will contain the URL of a
 18.1271  	    remote repository, if that can be determined.
 18.1272  	  </para>
 18.1273  	</listitem>
 18.1274 -	<listitem><para>Boolean-valued parameters are represented as
 18.1275 +	<listitem><para id="x_27d">Boolean-valued parameters are represented as
 18.1276  	    Python <literal>bool</literal> objects.
 18.1277  	  </para>
 18.1278  	</listitem></itemizedlist>
 18.1279  
 18.1280 -      <para>An in-process hook is called without a change to the
 18.1281 +      <para id="x_27e">An in-process hook is called without a change to the
 18.1282  	process's working directory (unlike external hooks, which are
 18.1283  	run in the root of the repository).  It must not change the
 18.1284  	process's working directory, or it will cause any calls it
 18.1285  	makes into the Mercurial API to fail.
 18.1286        </para>
 18.1287  
 18.1288 -      <para>If a hook returns a boolean <quote>false</quote> value, it
 18.1289 +      <para id="x_27f">If a hook returns a boolean <quote>false</quote> value, it
 18.1290  	is considered to have succeeded.  If it returns a boolean
 18.1291  	<quote>true</quote> value or raises an exception, it is
 18.1292  	considered to have failed.  A useful way to think of the
 18.1293  	calling convention is <quote>tell me if you fail</quote>.
 18.1294        </para>
 18.1295  
 18.1296 -      <para>Note that changeset IDs are passed into Python hooks as
 18.1297 +      <para id="x_280">Note that changeset IDs are passed into Python hooks as
 18.1298  	hexadecimal strings, not the binary hashes that Mercurial's
 18.1299  	APIs normally use.  To convert a hash from hex to binary, use
 18.1300  	the <literal>bin</literal> function.
 18.1301 @@ -1350,7 +1349,7 @@
 18.1302      <sect2>
 18.1303        <title>External hook execution</title>
 18.1304  
 18.1305 -      <para>An external hook is passed to the shell of the user
 18.1306 +      <para id="x_281">An external hook is passed to the shell of the user
 18.1307  	running Mercurial. Features of that shell, such as variable
 18.1308  	substitution and command redirection, are available.  The hook
 18.1309  	is run in the root directory of the repository (unlike
 18.1310 @@ -1358,7 +1357,7 @@
 18.1311  	Mercurial was run in).
 18.1312        </para>
 18.1313  
 18.1314 -      <para>Hook parameters are passed to the hook as environment
 18.1315 +      <para id="x_282">Hook parameters are passed to the hook as environment
 18.1316  	variables.  Each environment variable's name is converted in
 18.1317  	upper case and prefixed with the string
 18.1318  	<quote><literal>HG_</literal></quote>.  For example, if the
 18.1319 @@ -1367,7 +1366,7 @@
 18.1320  	parameter will be <quote><literal>HG_NODE</literal></quote>.
 18.1321        </para>
 18.1322  
 18.1323 -      <para>A boolean parameter is represented as the string
 18.1324 +      <para id="x_283">A boolean parameter is represented as the string
 18.1325  	<quote><literal>1</literal></quote> for <quote>true</quote>,
 18.1326  	<quote><literal>0</literal></quote> for <quote>false</quote>.
 18.1327  	If an environment variable is named <envar>HG_NODE</envar>,
 18.1328 @@ -1379,7 +1378,7 @@
 18.1329  	URL of a remote repository, if that can be determined.
 18.1330        </para>
 18.1331  
 18.1332 -      <para>If a hook exits with a status of zero, it is considered to
 18.1333 +      <para id="x_284">If a hook exits with a status of zero, it is considered to
 18.1334  	have succeeded.  If it exits with a non-zero status, it is
 18.1335  	considered to have failed.
 18.1336        </para>
 18.1337 @@ -1388,7 +1387,7 @@
 18.1338      <sect2>
 18.1339        <title>Finding out where changesets come from</title>
 18.1340  
 18.1341 -      <para>A hook that involves the transfer of changesets between a
 18.1342 +      <para id="x_285">A hook that involves the transfer of changesets between a
 18.1343  	local repository and another may be able to find out
 18.1344  	information about the <quote>far side</quote>.  Mercurial
 18.1345  	knows <emphasis>how</emphasis> changes are being transferred,
 18.1346 @@ -1396,10 +1395,10 @@
 18.1347  	transferred to or from.
 18.1348        </para>
 18.1349  
 18.1350 -      <sect3 id="sec.hook.sources">
 18.1351 +      <sect3 id="sec:hook:sources">
 18.1352  	<title>Sources of changesets</title>
 18.1353  
 18.1354 -	<para>Mercurial will tell a hook what means are, or were, used
 18.1355 +	<para id="x_286">Mercurial will tell a hook what means are, or were, used
 18.1356  	  to transfer changesets between repositories.  This is
 18.1357  	  provided by Mercurial in a Python parameter named
 18.1358  	  <literal>source</literal>, or an environment variable named
 18.1359 @@ -1407,32 +1406,32 @@
 18.1360  	</para>
 18.1361  
 18.1362  	<itemizedlist>
 18.1363 -	  <listitem><para><literal>serve</literal>: Changesets are
 18.1364 +	  <listitem><para id="x_287"><literal>serve</literal>: Changesets are
 18.1365  	      transferred to or from a remote repository over http or
 18.1366  	      ssh.
 18.1367  	    </para>
 18.1368  	  </listitem>
 18.1369 -	  <listitem><para><literal>pull</literal>: Changesets are
 18.1370 +	  <listitem><para id="x_288"><literal>pull</literal>: Changesets are
 18.1371  	      being transferred via a pull from one repository into
 18.1372  	      another.
 18.1373  	    </para>
 18.1374  	  </listitem>
 18.1375 -	  <listitem><para><literal>push</literal>: Changesets are
 18.1376 +	  <listitem><para id="x_289"><literal>push</literal>: Changesets are
 18.1377  	      being transferred via a push from one repository into
 18.1378  	      another.
 18.1379  	    </para>
 18.1380  	  </listitem>
 18.1381 -	  <listitem><para><literal>bundle</literal>: Changesets are
 18.1382 +	  <listitem><para id="x_28a"><literal>bundle</literal>: Changesets are
 18.1383  	      being transferred to or from a bundle.
 18.1384  	    </para>
 18.1385  	  </listitem></itemizedlist>
 18.1386  
 18.1387        </sect3>
 18.1388 -      <sect3 id="sec.hook.url">
 18.1389 +      <sect3 id="sec:hook:url">
 18.1390  	<title>Where changes are going&emdash;remote repository
 18.1391  	  URLs</title>
 18.1392  
 18.1393 -	<para>When possible, Mercurial will tell a hook the location
 18.1394 +	<para id="x_28b">When possible, Mercurial will tell a hook the location
 18.1395  	  of the <quote>far side</quote> of an activity that transfers
 18.1396  	  changeset data between repositories.  This is provided by
 18.1397  	  Mercurial in a Python parameter named
 18.1398 @@ -1440,26 +1439,26 @@
 18.1399  	  <envar>HG_URL</envar>.
 18.1400  	</para>
 18.1401  
 18.1402 -	<para>This information is not always known.  If a hook is
 18.1403 +	<para id="x_28c">This information is not always known.  If a hook is
 18.1404  	  invoked in a repository that is being served via http or
 18.1405  	  ssh, Mercurial cannot tell where the remote repository is,
 18.1406  	  but it may know where the client is connecting from.  In
 18.1407  	  such cases, the URL will take one of the following forms:
 18.1408  	</para>
 18.1409  	<itemizedlist>
 18.1410 -	  <listitem><para><literal>remote:ssh:1.2.3.4</literal>&emdash;remote 
 18.1411 +	  <listitem><para id="x_28d"><literal>remote:ssh:1.2.3.4</literal>&emdash;remote 
 18.1412  	      ssh client, at the IP address
 18.1413  	      <literal>1.2.3.4</literal>.
 18.1414  	    </para>
 18.1415  	  </listitem>
 18.1416 -	  <listitem><para><literal>remote:http:1.2.3.4</literal>&emdash;remote 
 18.1417 +	  <listitem><para id="x_28e"><literal>remote:http:1.2.3.4</literal>&emdash;remote 
 18.1418  	      http client, at the IP address
 18.1419  	      <literal>1.2.3.4</literal>.  If the client is using SSL,
 18.1420  	      this will be of the form
 18.1421  	      <literal>remote:https:1.2.3.4</literal>.
 18.1422  	    </para>
 18.1423  	  </listitem>
 18.1424 -	  <listitem><para>Empty&emdash;no information could be
 18.1425 +	  <listitem><para id="x_28f">Empty&emdash;no information could be
 18.1426  	      discovered about the remote client.
 18.1427  	    </para>
 18.1428  	  </listitem></itemizedlist>
 18.1429 @@ -1470,11 +1469,11 @@
 18.1430    <sect1>
 18.1431      <title>Hook reference</title>
 18.1432  
 18.1433 -    <sect2 id="sec.hook.changegroup">
 18.1434 +    <sect2 id="sec:hook:changegroup">
 18.1435        <title><literal role="hook">changegroup</literal>&emdash;after
 18.1436  	remote changesets added</title>
 18.1437  
 18.1438 -      <para>This hook is run after a group of pre-existing changesets
 18.1439 +      <para id="x_290">This hook is run after a group of pre-existing changesets
 18.1440  	has been added to the repository, for example via a <command
 18.1441  	  role="hg-cmd">hg pull</command> or <command role="hg-cmd">hg
 18.1442  	  unbundle</command>.  This hook is run once per operation
 18.1443 @@ -1484,16 +1483,16 @@
 18.1444  	arrive in a group.
 18.1445        </para>
 18.1446  
 18.1447 -      <para>Some possible uses for this hook include kicking off an
 18.1448 +      <para id="x_291">Some possible uses for this hook include kicking off an
 18.1449  	automated build or test of the added changesets, updating a
 18.1450  	bug database, or notifying subscribers that a repository
 18.1451  	contains new changes.
 18.1452        </para>
 18.1453  
 18.1454 -      <para>Parameters to this hook:
 18.1455 +      <para id="x_292">Parameters to this hook:
 18.1456        </para>
 18.1457        <itemizedlist>
 18.1458 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1459 +	<listitem><para id="x_293"><literal>node</literal>: A changeset ID.  The
 18.1460  	    changeset ID of the first changeset in the group that was
 18.1461  	    added.  All changesets between this and
 18.1462  	    <literal role="tag">tip</literal>, inclusive, were added by a single
 18.1463 @@ -1502,130 +1501,131 @@
 18.1464  	      role="hg-cmd">hg unbundle</command>.
 18.1465  	  </para>
 18.1466  	</listitem>
 18.1467 -	<listitem><para><literal>source</literal>: A string.  The
 18.1468 -	    source of these changes.  See section <xref
 18.1469 -	      linkend="sec.hook.sources"/> for details.
 18.1470 -	  </para>
 18.1471 -	</listitem>
 18.1472 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1473 -	    of the remote repository, if known.  See section <xref
 18.1474 -	      linkend="sec.hook.url"/> for more
 18.1475 -	    information.
 18.1476 +	<listitem><para id="x_294"><literal>source</literal>: A
 18.1477 +	    string.  The source of these changes.  See <xref
 18.1478 +	      linkend="sec:hook:sources"/> for details.
 18.1479 +	  </para>
 18.1480 +	</listitem>
 18.1481 +	<listitem><para id="x_295"><literal>url</literal>: A URL.  The
 18.1482 +	    location of the remote repository, if known.  See <xref
 18.1483 +	      linkend="sec:hook:url"/> for more information.
 18.1484  	  </para>
 18.1485  	</listitem></itemizedlist>
 18.1486  
 18.1487 -      <para>See also: <literal role="hook">incoming</literal> (section
 18.1488 -	<xref linkend="sec.hook.incoming"/>), <literal
 18.1489 -	  role="hook">prechangegroup</literal> (section <xref
 18.1490 -	  linkend="sec.hook.prechangegroup"/>), <literal
 18.1491 -	  role="hook">pretxnchangegroup</literal> (section <xref
 18.1492 -	  linkend="sec.hook.pretxnchangegroup"/>)
 18.1493 -      </para>
 18.1494 -
 18.1495 -    </sect2>
 18.1496 -    <sect2 id="sec.hook.commit">
 18.1497 +      <para id="x_296">See also: <literal
 18.1498 +	  role="hook">incoming</literal> (<xref
 18.1499 +	  linkend="sec:hook:incoming"/>), <literal
 18.1500 +	  role="hook">prechangegroup</literal> (<xref
 18.1501 +	  linkend="sec:hook:prechangegroup"/>), <literal
 18.1502 +	  role="hook">pretxnchangegroup</literal> (<xref
 18.1503 +	  linkend="sec:hook:pretxnchangegroup"/>)
 18.1504 +      </para>
 18.1505 +
 18.1506 +    </sect2>
 18.1507 +    <sect2 id="sec:hook:commit">
 18.1508        <title><literal role="hook">commit</literal>&emdash;after a new
 18.1509  	changeset is created</title>
 18.1510  
 18.1511 -      <para>This hook is run after a new changeset has been created.
 18.1512 -      </para>
 18.1513 -
 18.1514 -      <para>Parameters to this hook:
 18.1515 +      <para id="x_297">This hook is run after a new changeset has been created.
 18.1516 +      </para>
 18.1517 +
 18.1518 +      <para id="x_298">Parameters to this hook:
 18.1519        </para>
 18.1520        <itemizedlist>
 18.1521 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1522 +	<listitem><para id="x_299"><literal>node</literal>: A changeset ID.  The
 18.1523  	    changeset ID of the newly committed changeset.
 18.1524  	  </para>
 18.1525  	</listitem>
 18.1526 -	<listitem><para><literal>parent1</literal>: A changeset ID.
 18.1527 +	<listitem><para id="x_29a"><literal>parent1</literal>: A changeset ID.
 18.1528  	    The changeset ID of the first parent of the newly
 18.1529  	    committed changeset.
 18.1530  	  </para>
 18.1531  	</listitem>
 18.1532 -	<listitem><para><literal>parent2</literal>: A changeset ID.
 18.1533 +	<listitem><para id="x_29b"><literal>parent2</literal>: A changeset ID.
 18.1534  	    The changeset ID of the second parent of the newly
 18.1535  	    committed changeset.
 18.1536  	  </para>
 18.1537  	</listitem></itemizedlist>
 18.1538  
 18.1539 -      <para>See also: <literal role="hook">precommit</literal>
 18.1540 -	(section <xref linkend="sec.hook.precommit"/>), <literal
 18.1541 -	  role="hook">pretxncommit</literal> (section <xref
 18.1542 -	  linkend="sec.hook.pretxncommit"/>)
 18.1543 -      </para>
 18.1544 -
 18.1545 -    </sect2>
 18.1546 -    <sect2 id="sec.hook.incoming">
 18.1547 +      <para id="x_29c">See also: <literal
 18.1548 +	  role="hook">precommit</literal> (<xref
 18.1549 +	  linkend="sec:hook:precommit"/>), <literal
 18.1550 +	  role="hook">pretxncommit</literal> (<xref
 18.1551 +	  linkend="sec:hook:pretxncommit"/>)
 18.1552 +      </para>
 18.1553 +
 18.1554 +    </sect2>
 18.1555 +    <sect2 id="sec:hook:incoming">
 18.1556        <title><literal role="hook">incoming</literal>&emdash;after one
 18.1557  	remote changeset is added</title>
 18.1558  
 18.1559 -      <para>This hook is run after a pre-existing changeset has been
 18.1560 +      <para id="x_29d">This hook is run after a pre-existing changeset has been
 18.1561  	added to the repository, for example via a <command
 18.1562  	  role="hg-cmd">hg push</command>.  If a group of changesets
 18.1563  	was added in a single operation, this hook is called once for
 18.1564  	each added changeset.
 18.1565        </para>
 18.1566  
 18.1567 -      <para>You can use this hook for the same purposes as the
 18.1568 -	<literal role="hook">changegroup</literal> hook (section <xref
 18.1569 -	  linkend="sec.hook.changegroup"/>); it's simply
 18.1570 -	more convenient sometimes to run a hook once per group of
 18.1571 +      <para id="x_29e">You can use this hook for the same purposes as
 18.1572 +	the <literal role="hook">changegroup</literal> hook (<xref
 18.1573 +	  linkend="sec:hook:changegroup"/>); it's simply more
 18.1574 +	convenient sometimes to run a hook once per group of
 18.1575  	changesets, while other times it's handier once per changeset.
 18.1576        </para>
 18.1577  
 18.1578 -      <para>Parameters to this hook:
 18.1579 +      <para id="x_29f">Parameters to this hook:
 18.1580        </para>
 18.1581        <itemizedlist>
 18.1582 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1583 +	<listitem><para id="x_2a0"><literal>node</literal>: A changeset ID.  The
 18.1584  	    ID of the newly added changeset.
 18.1585  	  </para>
 18.1586  	</listitem>
 18.1587 -	<listitem><para><literal>source</literal>: A string.  The
 18.1588 -	    source of these changes.  See section <xref
 18.1589 -	      linkend="sec.hook.sources"/> for details.
 18.1590 -	  </para>
 18.1591 -	</listitem>
 18.1592 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1593 -	    of the remote repository, if known.  See section <xref
 18.1594 -	      linkend="sec.hook.url"/> for more
 18.1595 -	    information.
 18.1596 +	<listitem><para id="x_2a1"><literal>source</literal>: A
 18.1597 +	    string.  The source of these changes.  See <xref
 18.1598 +	      linkend="sec:hook:sources"/> for details.
 18.1599 +	  </para>
 18.1600 +	</listitem>
 18.1601 +	<listitem><para id="x_2a2"><literal>url</literal>: A URL.  The
 18.1602 +	    location of the remote repository, if known.  See <xref
 18.1603 +	      linkend="sec:hook:url"/> for more information.
 18.1604  	  </para>
 18.1605  	</listitem></itemizedlist>
 18.1606  
 18.1607 -      <para>See also: <literal role="hook">changegroup</literal>
 18.1608 -	(section <xref linkend="sec.hook.changegroup"/>) <literal
 18.1609 -	  role="hook">prechangegroup</literal> (section <xref
 18.1610 -	  linkend="sec.hook.prechangegroup"/>), <literal
 18.1611 -	  role="hook">pretxnchangegroup</literal> (section <xref
 18.1612 -	  linkend="sec.hook.pretxnchangegroup"/>)
 18.1613 -      </para>
 18.1614 -
 18.1615 -    </sect2>
 18.1616 -    <sect2 id="sec.hook.outgoing">
 18.1617 +      <para id="x_2a3">See also: <literal
 18.1618 +	  role="hook">changegroup</literal> (<xref
 18.1619 +	  linkend="sec:hook:changegroup"/>) <literal
 18.1620 +	  role="hook">prechangegroup</literal> (<xref
 18.1621 +	  linkend="sec:hook:prechangegroup"/>), <literal
 18.1622 +	  role="hook">pretxnchangegroup</literal> (<xref
 18.1623 +	  linkend="sec:hook:pretxnchangegroup"/>)
 18.1624 +      </para>
 18.1625 +
 18.1626 +    </sect2>
 18.1627 +    <sect2 id="sec:hook:outgoing">
 18.1628        <title><literal role="hook">outgoing</literal>&emdash;after
 18.1629  	changesets are propagated</title>
 18.1630  
 18.1631 -      <para>This hook is run after a group of changesets has been
 18.1632 +      <para id="x_2a4">This hook is run after a group of changesets has been
 18.1633  	propagated out of this repository, for example by a <command
 18.1634  	  role="hg-cmd">hg push</command> or <command role="hg-cmd">hg
 18.1635  	  bundle</command> command.
 18.1636        </para>
 18.1637  
 18.1638 -      <para>One possible use for this hook is to notify administrators
 18.1639 +      <para id="x_2a5">One possible use for this hook is to notify administrators
 18.1640  	that changes have been pulled.
 18.1641        </para>
 18.1642  
 18.1643 -      <para>Parameters to this hook:
 18.1644 +      <para id="x_2a6">Parameters to this hook:
 18.1645        </para>
 18.1646        <itemizedlist>
 18.1647 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1648 +	<listitem><para id="x_2a7"><literal>node</literal>: A changeset ID.  The
 18.1649  	    changeset ID of the first changeset of the group that was
 18.1650  	    sent.
 18.1651  	  </para>
 18.1652  	</listitem>
 18.1653 -	<listitem><para><literal>source</literal>: A string.  The
 18.1654 -	    source of the of the operation (see section <xref
 18.1655 -	      linkend="sec.hook.sources"/>).  If a remote
 18.1656 +	<listitem><para id="x_2a8"><literal>source</literal>: A string.  The
 18.1657 +	    source of the of the operation (see <xref
 18.1658 +	      linkend="sec:hook:sources"/>).  If a remote
 18.1659  	    client pulled changes from this repository,
 18.1660  	    <literal>source</literal> will be
 18.1661  	    <literal>serve</literal>.  If the client that obtained
 18.1662 @@ -1636,187 +1636,187 @@
 18.1663  	    client performed.
 18.1664  	  </para>
 18.1665  	</listitem>
 18.1666 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1667 -	    of the remote repository, if known.  See section <xref
 18.1668 -	      linkend="sec.hook.url"/> for more
 18.1669 -	    information.
 18.1670 +	<listitem><para id="x_2a9"><literal>url</literal>: A URL.  The
 18.1671 +	    location of the remote repository, if known.  See <xref
 18.1672 +	      linkend="sec:hook:url"/> for more information.
 18.1673  	  </para>
 18.1674  	</listitem></itemizedlist>
 18.1675  
 18.1676 -      <para>See also: <literal role="hook">preoutgoing</literal>
 18.1677 -	(section <xref linkend="sec.hook.preoutgoing"/>)
 18.1678 -      </para>
 18.1679 -
 18.1680 -    </sect2>
 18.1681 -    <sect2 id="sec.hook.prechangegroup">
 18.1682 +      <para id="x_2aa">See also: <literal
 18.1683 +	  role="hook">preoutgoing</literal> (<xref
 18.1684 +	  linkend="sec:hook:preoutgoing"/>)
 18.1685 +      </para>
 18.1686 +
 18.1687 +    </sect2>
 18.1688 +    <sect2 id="sec:hook:prechangegroup">
 18.1689        <title><literal
 18.1690  	  role="hook">prechangegroup</literal>&emdash;before starting
 18.1691  	to add remote changesets</title>
 18.1692  
 18.1693 -      <para>This controlling hook is run before Mercurial begins to
 18.1694 +      <para id="x_2ab">This controlling hook is run before Mercurial begins to
 18.1695  	add a group of changesets from another repository.
 18.1696        </para>
 18.1697  
 18.1698 -      <para>This hook does not have any information about the
 18.1699 +      <para id="x_2ac">This hook does not have any information about the
 18.1700  	changesets to be added, because it is run before transmission
 18.1701  	of those changesets is allowed to begin.  If this hook fails,
 18.1702  	the changesets will not be transmitted.
 18.1703        </para>
 18.1704  
 18.1705 -      <para>One use for this hook is to prevent external changes from
 18.1706 +      <para id="x_2ad">One use for this hook is to prevent external changes from
 18.1707  	being added to a repository.  For example, you could use this
 18.1708  	to <quote>freeze</quote> a server-hosted branch temporarily or
 18.1709  	permanently so that users cannot push to it, while still
 18.1710  	allowing a local administrator to modify the repository.
 18.1711        </para>
 18.1712  
 18.1713 -      <para>Parameters to this hook:
 18.1714 +      <para id="x_2ae">Parameters to this hook:
 18.1715        </para>
 18.1716        <itemizedlist>
 18.1717 -	<listitem><para><literal>source</literal>: A string.  The
 18.1718 -	    source of these changes.  See section <xref
 18.1719 -	      linkend="sec.hook.sources"/> for details.
 18.1720 -	  </para>
 18.1721 -	</listitem>
 18.1722 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1723 -	    of the remote repository, if known.  See section <xref
 18.1724 -	      linkend="sec.hook.url"/> for more
 18.1725 -	    information.
 18.1726 +	<listitem><para id="x_2af"><literal>source</literal>: A string.  The
 18.1727 +	    source of these changes.  See <xref
 18.1728 +	      linkend="sec:hook:sources"/> for details.
 18.1729 +	  </para>
 18.1730 +	</listitem>
 18.1731 +	<listitem><para id="x_2b0"><literal>url</literal>: A URL.  The
 18.1732 +	    location of the remote repository, if known.  See <xref
 18.1733 +	      linkend="sec:hook:url"/> for more information.
 18.1734  	  </para>
 18.1735  	</listitem></itemizedlist>
 18.1736  
 18.1737 -      <para>See also: <literal role="hook">changegroup</literal>
 18.1738 -	(section <xref linkend="sec.hook.changegroup"/>), <literal
 18.1739 -	  role="hook">incoming</literal> (section <xref
 18.1740 -	  linkend="sec.hook.incoming"/>), , <literal
 18.1741 -	  role="hook">pretxnchangegroup</literal> (section <xref
 18.1742 -	  linkend="sec.hook.pretxnchangegroup"/>)
 18.1743 -      </para>
 18.1744 -
 18.1745 -    </sect2>
 18.1746 -    <sect2 id="sec.hook.precommit">
 18.1747 +      <para id="x_2b1">See also: <literal
 18.1748 +	  role="hook">changegroup</literal> (<xref
 18.1749 +	  linkend="sec:hook:changegroup"/>), <literal
 18.1750 +	  role="hook">incoming</literal> (<xref
 18.1751 +	  linkend="sec:hook:incoming"/>), <literal
 18.1752 +	  role="hook">pretxnchangegroup</literal> (<xref
 18.1753 +	  linkend="sec:hook:pretxnchangegroup"/>)
 18.1754 +      </para>
 18.1755 +
 18.1756 +    </sect2>
 18.1757 +    <sect2 id="sec:hook:precommit">
 18.1758        <title><literal role="hook">precommit</literal>&emdash;before
 18.1759  	starting to commit a changeset</title>
 18.1760  
 18.1761 -      <para>This hook is run before Mercurial begins to commit a new
 18.1762 +      <para id="x_2b2">This hook is run before Mercurial begins to commit a new
 18.1763  	changeset. It is run before Mercurial has any of the metadata
 18.1764  	for the commit, such as the files to be committed, the commit
 18.1765  	message, or the commit date.
 18.1766        </para>
 18.1767  
 18.1768 -      <para>One use for this hook is to disable the ability to commit
 18.1769 +      <para id="x_2b3">One use for this hook is to disable the ability to commit
 18.1770  	new changesets, while still allowing incoming changesets.
 18.1771  	Another is to run a build or test, and only allow the commit
 18.1772  	to begin if the build or test succeeds.
 18.1773        </para>
 18.1774  
 18.1775 -      <para>Parameters to this hook:
 18.1776 +      <para id="x_2b4">Parameters to this hook:
 18.1777        </para>
 18.1778        <itemizedlist>
 18.1779 -	<listitem><para><literal>parent1</literal>: A changeset ID.
 18.1780 +	<listitem><para id="x_2b5"><literal>parent1</literal>: A changeset ID.
 18.1781  	    The changeset ID of the first parent of the working
 18.1782  	    directory.
 18.1783  	  </para>
 18.1784  	</listitem>
 18.1785 -	<listitem><para><literal>parent2</literal>: A changeset ID.
 18.1786 +	<listitem><para id="x_2b6"><literal>parent2</literal>: A changeset ID.
 18.1787  	    The changeset ID of the second parent of the working
 18.1788  	    directory.
 18.1789  	  </para>
 18.1790  	</listitem></itemizedlist>
 18.1791 -      <para>If the commit proceeds, the parents of the working
 18.1792 +      <para id="x_2b7">If the commit proceeds, the parents of the working
 18.1793  	directory will become the parents of the new changeset.
 18.1794        </para>
 18.1795  
 18.1796 -      <para>See also: <literal role="hook">commit</literal> (section
 18.1797 -	<xref linkend="sec.hook.commit"/>), <literal
 18.1798 -	  role="hook">pretxncommit</literal> (section <xref
 18.1799 -	  linkend="sec.hook.pretxncommit"/>)
 18.1800 -      </para>
 18.1801 -
 18.1802 -    </sect2>
 18.1803 -    <sect2 id="sec.hook.preoutgoing">
 18.1804 +      <para id="x_2b8">See also: <literal role="hook">commit</literal>
 18.1805 +	(<xref linkend="sec:hook:commit"/>), <literal
 18.1806 +	  role="hook">pretxncommit</literal> (<xref
 18.1807 +	  linkend="sec:hook:pretxncommit"/>)
 18.1808 +      </para>
 18.1809 +
 18.1810 +    </sect2>
 18.1811 +    <sect2 id="sec:hook:preoutgoing">
 18.1812        <title><literal role="hook">preoutgoing</literal>&emdash;before
 18.1813  	starting to propagate changesets</title>
 18.1814  
 18.1815 -      <para>This hook is invoked before Mercurial knows the identities
 18.1816 +      <para id="x_2b9">This hook is invoked before Mercurial knows the identities
 18.1817  	of the changesets to be transmitted.
 18.1818        </para>
 18.1819  
 18.1820 -      <para>One use for this hook is to prevent changes from being
 18.1821 +      <para id="x_2ba">One use for this hook is to prevent changes from being
 18.1822  	transmitted to another repository.
 18.1823        </para>
 18.1824  
 18.1825 -      <para>Parameters to this hook:
 18.1826 +      <para id="x_2bb">Parameters to this hook:
 18.1827        </para>
 18.1828        <itemizedlist>
 18.1829 -	<listitem><para><literal>source</literal>: A string.  The
 18.1830 -	    source of the operation that is attempting to obtain
 18.1831 -	    changes from this repository (see section <xref
 18.1832 -	      linkend="sec.hook.sources"/>).  See the documentation
 18.1833 +	<listitem><para id="x_2bc"><literal>source</literal>: A
 18.1834 +	    string.  The source of the operation that is attempting to
 18.1835 +	    obtain changes from this repository (see <xref
 18.1836 +	      linkend="sec:hook:sources"/>).  See the documentation
 18.1837  	    for the <literal>source</literal> parameter to the
 18.1838 -	    <literal role="hook">outgoing</literal> hook, in section
 18.1839 -	    <xref linkend="sec.hook.outgoing"/>, for possible values
 18.1840 -	    of
 18.1841 -	    this parameter.
 18.1842 -	  </para>
 18.1843 -	</listitem>
 18.1844 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1845 -	    of the remote repository, if known.  See section <xref
 18.1846 -	      linkend="sec.hook.url"/> for more
 18.1847 -	    information.
 18.1848 +	    <literal role="hook">outgoing</literal> hook, in
 18.1849 +	    <xref linkend="sec:hook:outgoing"/>, for possible values
 18.1850 +	    of this parameter.
 18.1851 +	  </para>
 18.1852 +	</listitem>
 18.1853 +	<listitem><para id="x_2bd"><literal>url</literal>: A URL.  The
 18.1854 +	    location of the remote repository, if known.  See <xref
 18.1855 +	      linkend="sec:hook:url"/> for more information.
 18.1856  	  </para>
 18.1857  	</listitem></itemizedlist>
 18.1858  
 18.1859 -      <para>See also: <literal role="hook">outgoing</literal> (section
 18.1860 -	<xref linkend="sec.hook.outgoing"/>)
 18.1861 -      </para>
 18.1862 -
 18.1863 -    </sect2>
 18.1864 -    <sect2 id="sec.hook.pretag">
 18.1865 +      <para id="x_2be">See also: <literal
 18.1866 +	  role="hook">outgoing</literal> (<xref
 18.1867 +	  linkend="sec:hook:outgoing"/>)
 18.1868 +      </para>
 18.1869 +
 18.1870 +    </sect2>
 18.1871 +    <sect2 id="sec:hook:pretag">
 18.1872        <title><literal role="hook">pretag</literal>&emdash;before
 18.1873  	tagging a changeset</title>
 18.1874  
 18.1875 -      <para>This controlling hook is run before a tag is created.  If
 18.1876 +      <para id="x_2bf">This controlling hook is run before a tag is created.  If
 18.1877  	the hook succeeds, creation of the tag proceeds.  If the hook
 18.1878  	fails, the tag is not created.
 18.1879        </para>
 18.1880  
 18.1881 -      <para>Parameters to this hook:
 18.1882 +      <para id="x_2c0">Parameters to this hook:
 18.1883        </para>
 18.1884        <itemizedlist>
 18.1885 -	<listitem><para><literal>local</literal>: A boolean.  Whether
 18.1886 +	<listitem><para id="x_2c1"><literal>local</literal>: A boolean.  Whether
 18.1887  	    the tag is local to this repository instance (i.e. stored
 18.1888  	    in <filename role="special">.hg/localtags</filename>) or
 18.1889  	    managed by Mercurial (stored in <filename
 18.1890  	      role="special">.hgtags</filename>).
 18.1891  	  </para>
 18.1892  	</listitem>
 18.1893 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1894 +	<listitem><para id="x_2c2"><literal>node</literal>: A changeset ID.  The
 18.1895  	    ID of the changeset to be tagged.
 18.1896  	  </para>
 18.1897  	</listitem>
 18.1898 -	<listitem><para><literal>tag</literal>: A string.  The name of
 18.1899 +	<listitem><para id="x_2c3"><literal>tag</literal>: A string.  The name of
 18.1900  	    the tag to be created.
 18.1901  	  </para>
 18.1902  	</listitem></itemizedlist>
 18.1903  
 18.1904 -      <para>If the tag to be created is revision-controlled, the
 18.1905 -	<literal role="hook">precommit</literal> and <literal
 18.1906 -	  role="hook">pretxncommit</literal> hooks (sections <xref
 18.1907 -	  linkend="sec.hook.commit"/> and <xref
 18.1908 -	  linkend="sec.hook.pretxncommit"/>) will also be run.
 18.1909 -      </para>
 18.1910 -
 18.1911 -      <para>See also: <literal role="hook">tag</literal> (section
 18.1912 -	<xref linkend="sec.hook.tag"/>)
 18.1913 -      </para>
 18.1914 -    </sect2>
 18.1915 -    <sect2 id="sec.hook.pretxnchangegroup">
 18.1916 +      <para id="x_2c4">If the tag to be created is
 18.1917 +	revision-controlled, the <literal
 18.1918 +	  role="hook">precommit</literal> and <literal
 18.1919 +	  role="hook">pretxncommit</literal> hooks (<xref
 18.1920 +	  linkend="sec:hook:commit"/> and <xref
 18.1921 +	  linkend="sec:hook:pretxncommit"/>) will also be run.
 18.1922 +      </para>
 18.1923 +
 18.1924 +      <para id="x_2c5">See also: <literal role="hook">tag</literal>
 18.1925 +	(<xref linkend="sec:hook:tag"/>)
 18.1926 +      </para>
 18.1927 +    </sect2>
 18.1928 +    <sect2 id="sec:hook:pretxnchangegroup">
 18.1929        <title><literal
 18.1930  	  role="hook">pretxnchangegroup</literal>&emdash;before
 18.1931  	completing addition of remote changesets</title>
 18.1932  
 18.1933 -      <para>This controlling hook is run before a
 18.1934 +      <para id="x_2c6">This controlling hook is run before a
 18.1935  	transaction&emdash;that manages the addition of a group of new
 18.1936  	changesets from outside the repository&emdash;completes.  If
 18.1937  	the hook succeeds, the transaction completes, and all of the
 18.1938 @@ -1825,28 +1825,28 @@
 18.1939  	the changesets is erased.
 18.1940        </para>
 18.1941  
 18.1942 -      <para>This hook can access the metadata associated with the
 18.1943 +      <para id="x_2c7">This hook can access the metadata associated with the
 18.1944  	almost-added changesets, but it should not do anything
 18.1945  	permanent with this data. It must also not modify the working
 18.1946  	directory.
 18.1947        </para>
 18.1948  
 18.1949 -      <para>While this hook is running, if other Mercurial processes
 18.1950 +      <para id="x_2c8">While this hook is running, if other Mercurial processes
 18.1951  	access this repository, they will be able to see the
 18.1952  	almost-added changesets as if they are permanent.  This may
 18.1953  	lead to race conditions if you do not take steps to avoid
 18.1954  	them.
 18.1955        </para>
 18.1956  
 18.1957 -      <para>This hook can be used to automatically vet a group of
 18.1958 +      <para id="x_2c9">This hook can be used to automatically vet a group of
 18.1959  	changesets.  If the hook fails, all of the changesets are
 18.1960  	<quote>rejected</quote> when the transaction rolls back.
 18.1961        </para>
 18.1962  
 18.1963 -      <para>Parameters to this hook:
 18.1964 +      <para id="x_2ca">Parameters to this hook:
 18.1965        </para>
 18.1966        <itemizedlist>
 18.1967 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.1968 +	<listitem><para id="x_2cb"><literal>node</literal>: A changeset ID.  The
 18.1969  	    changeset ID of the first changeset in the group that was
 18.1970  	    added.  All changesets between this and
 18.1971  	    <literal role="tag">tip</literal>,
 18.1972 @@ -1856,32 +1856,32 @@
 18.1973  	      role="hg-cmd">hg unbundle</command>.
 18.1974  	  </para>
 18.1975  	</listitem>
 18.1976 -	<listitem><para><literal>source</literal>: A string.  The
 18.1977 -	    source of these changes.  See section <xref
 18.1978 -	      linkend="sec.hook.sources"/> for details.
 18.1979 -	  </para>
 18.1980 -	</listitem>
 18.1981 -	<listitem><para><literal>url</literal>: A URL.  The location
 18.1982 -	    of the remote repository, if known.  See section <xref
 18.1983 -	      linkend="sec.hook.url"/> for more
 18.1984 -	    information.
 18.1985 +	<listitem><para id="x_2cc"><literal>source</literal>: A
 18.1986 +	    string.  The source of these changes.  See <xref
 18.1987 +	      linkend="sec:hook:sources"/> for details.
 18.1988 +	  </para>
 18.1989 +	</listitem>
 18.1990 +	<listitem><para id="x_2cd"><literal>url</literal>: A URL.  The
 18.1991 +	    location of the remote repository, if known.  See <xref
 18.1992 +	      linkend="sec:hook:url"/> for more information.
 18.1993  	  </para>
 18.1994  	</listitem></itemizedlist>
 18.1995  
 18.1996 -      <para>See also: <literal role="hook">changegroup</literal>
 18.1997 -	(section <xref linkend="sec.hook.changegroup"/>), <literal
 18.1998 -	  role="hook">incoming</literal> (section <xref
 18.1999 -	  linkend="sec.hook.incoming"/>), <literal
 18.2000 -	  role="hook">prechangegroup</literal> (section <xref
 18.2001 -	  linkend="sec.hook.prechangegroup"/>)
 18.2002 -      </para>
 18.2003 -
 18.2004 -    </sect2>
 18.2005 -    <sect2 id="sec.hook.pretxncommit">
 18.2006 +      <para id="x_2ce">See also: <literal
 18.2007 +	  role="hook">changegroup</literal> (<xref
 18.2008 +	  linkend="sec:hook:changegroup"/>), <literal
 18.2009 +	  role="hook">incoming</literal> (<xref
 18.2010 +	  linkend="sec:hook:incoming"/>), <literal
 18.2011 +	  role="hook">prechangegroup</literal> (<xref
 18.2012 +	  linkend="sec:hook:prechangegroup"/>)
 18.2013 +      </para>
 18.2014 +
 18.2015 +    </sect2>
 18.2016 +    <sect2 id="sec:hook:pretxncommit">
 18.2017        <title><literal role="hook">pretxncommit</literal>&emdash;before
 18.2018  	completing commit of new changeset</title>
 18.2019  
 18.2020 -      <para>This controlling hook is run before a
 18.2021 +      <para id="x_2cf">This controlling hook is run before a
 18.2022  	transaction&emdash;that manages a new commit&emdash;completes.
 18.2023  	If the hook succeeds, the transaction completes and the
 18.2024  	changeset becomes permanent within this repository.  If the
 18.2025 @@ -1889,84 +1889,85 @@
 18.2026  	data is erased.
 18.2027        </para>
 18.2028  
 18.2029 -      <para>This hook can access the metadata associated with the
 18.2030 +      <para id="x_2d0">This hook can access the metadata associated with the
 18.2031  	almost-new changeset, but it should not do anything permanent
 18.2032  	with this data.  It must also not modify the working
 18.2033  	directory.
 18.2034        </para>
 18.2035  
 18.2036 -      <para>While this hook is running, if other Mercurial processes
 18.2037 +      <para id="x_2d1">While this hook is running, if other Mercurial processes
 18.2038  	access this repository, they will be able to see the
 18.2039  	almost-new changeset as if it is permanent.  This may lead to
 18.2040  	race conditions if you do not take steps to avoid them.
 18.2041        </para>
 18.2042  
 18.2043 -      <para>Parameters to this hook:
 18.2044 +      <para id="x_2d2">Parameters to this hook:
 18.2045        </para>
 18.2046        <itemizedlist>
 18.2047 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.2048 +	<listitem><para id="x_2d3"><literal>node</literal>: A changeset ID.  The
 18.2049  	    changeset ID of the newly committed changeset.
 18.2050  	  </para>
 18.2051  	</listitem>
 18.2052 -	<listitem><para><literal>parent1</literal>: A changeset ID.
 18.2053 +	<listitem><para id="x_2d4"><literal>parent1</literal>: A changeset ID.
 18.2054  	    The changeset ID of the first parent of the newly
 18.2055  	    committed changeset.
 18.2056  	  </para>
 18.2057  	</listitem>
 18.2058 -	<listitem><para><literal>parent2</literal>: A changeset ID.
 18.2059 +	<listitem><para id="x_2d5"><literal>parent2</literal>: A changeset ID.
 18.2060  	    The changeset ID of the second parent of the newly
 18.2061  	    committed changeset.
 18.2062  	  </para>
 18.2063  	</listitem></itemizedlist>
 18.2064  
 18.2065 -      <para>See also: <literal role="hook">precommit</literal>
 18.2066 -	(section <xref linkend="sec.hook.precommit"/>)
 18.2067 -      </para>
 18.2068 -
 18.2069 -    </sect2>
 18.2070 -    <sect2 id="sec.hook.preupdate">
 18.2071 +      <para id="x_2d6">See also: <literal
 18.2072 +	  role="hook">precommit</literal> (<xref
 18.2073 +	  linkend="sec:hook:precommit"/>)
 18.2074 +      </para>
 18.2075 +
 18.2076 +    </sect2>
 18.2077 +    <sect2 id="sec:hook:preupdate">
 18.2078        <title><literal role="hook">preupdate</literal>&emdash;before
 18.2079  	updating or merging working directory</title>
 18.2080  
 18.2081 -      <para>This controlling hook is run before an update or merge of
 18.2082 -	the working directory begins.  It is run only if Mercurial's
 18.2083 -	normal pre-update checks determine that the update or merge
 18.2084 -	can proceed.  If the hook succeeds, the update or merge may
 18.2085 -	proceed; if it fails, the update or merge does not start.
 18.2086 -      </para>
 18.2087 -
 18.2088 -      <para>Parameters to this hook:
 18.2089 +      <para id="x_2d7">This controlling hook is run before an update
 18.2090 +	or merge of the working directory begins.  It is run only if
 18.2091 +	Mercurial's normal pre-update checks determine that the update
 18.2092 +	or merge can proceed.  If the hook succeeds, the update or
 18.2093 +	merge may proceed; if it fails, the update or merge does not
 18.2094 +	start.
 18.2095 +      </para>
 18.2096 +
 18.2097 +      <para id="x_2d8">Parameters to this hook:
 18.2098        </para>
 18.2099        <itemizedlist>
 18.2100 -	<listitem><para><literal>parent1</literal>: A changeset ID.
 18.2101 -	    The ID of the parent that the working directory is to be
 18.2102 -	    updated to.  If the working directory is being merged, it
 18.2103 -	    will not change this parent.
 18.2104 -	  </para>
 18.2105 -	</listitem>
 18.2106 -	<listitem><para><literal>parent2</literal>: A changeset ID.
 18.2107 -	    Only set if the working directory is being merged.  The ID
 18.2108 -	    of the revision that the working directory is being merged
 18.2109 -	    with.
 18.2110 +	<listitem><para id="x_2d9"><literal>parent1</literal>: A
 18.2111 +	    changeset ID. The ID of the parent that the working
 18.2112 +	    directory is to be updated to.  If the working directory
 18.2113 +	    is being merged, it will not change this parent.
 18.2114 +	  </para>
 18.2115 +	</listitem>
 18.2116 +	<listitem><para id="x_2da"><literal>parent2</literal>: A
 18.2117 +	    changeset ID. Only set if the working directory is being
 18.2118 +	    merged.  The ID of the revision that the working directory
 18.2119 +	    is being merged with.
 18.2120  	  </para>
 18.2121  	</listitem></itemizedlist>
 18.2122  
 18.2123 -      <para>See also: <literal role="hook">update</literal> (section
 18.2124 -	<xref linkend="sec.hook.update"/>)
 18.2125 -      </para>
 18.2126 -
 18.2127 -    </sect2>
 18.2128 -    <sect2 id="sec.hook.tag">
 18.2129 +      <para id="x_2db">See also: <literal role="hook">update</literal>
 18.2130 +	(<xref linkend="sec:hook:update"/>)</para>
 18.2131 +
 18.2132 +    </sect2>
 18.2133 +    <sect2 id="sec:hook:tag">
 18.2134        <title><literal role="hook">tag</literal>&emdash;after tagging a
 18.2135  	changeset</title>
 18.2136  
 18.2137 -      <para>This hook is run after a tag has been created.
 18.2138 -      </para>
 18.2139 -
 18.2140 -      <para>Parameters to this hook:
 18.2141 +      <para id="x_2dc">This hook is run after a tag has been created.
 18.2142 +      </para>
 18.2143 +
 18.2144 +      <para id="x_2dd">Parameters to this hook:
 18.2145        </para>
 18.2146        <itemizedlist>
 18.2147 -	<listitem><para><literal>local</literal>: A boolean.  Whether
 18.2148 +	<listitem><para id="x_2de"><literal>local</literal>: A boolean.  Whether
 18.2149  	    the new tag is local to this repository instance (i.e.
 18.2150  	    stored in <filename
 18.2151  	      role="special">.hg/localtags</filename>) or managed by
 18.2152 @@ -1974,30 +1975,30 @@
 18.2153  	      role="special">.hgtags</filename>).
 18.2154  	  </para>
 18.2155  	</listitem>
 18.2156 -	<listitem><para><literal>node</literal>: A changeset ID.  The
 18.2157 +	<listitem><para id="x_2df"><literal>node</literal>: A changeset ID.  The
 18.2158  	    ID of the changeset that was tagged.
 18.2159  	  </para>
 18.2160  	</listitem>
 18.2161 -	<listitem><para><literal>tag</literal>: A string.  The name of
 18.2162 +	<listitem><para id="x_2e0"><literal>tag</literal>: A string.  The name of
 18.2163  	    the tag that was created.
 18.2164  	  </para>
 18.2165  	</listitem></itemizedlist>
 18.2166  
 18.2167 -      <para>If the created tag is revision-controlled, the <literal
 18.2168 +      <para id="x_2e1">If the created tag is revision-controlled, the <literal
 18.2169  	  role="hook">commit</literal> hook (section <xref
 18.2170 -	  linkend="sec.hook.commit"/>) is run before this hook.
 18.2171 -      </para>
 18.2172 -
 18.2173 -      <para>See also: <literal role="hook">pretag</literal> (section
 18.2174 -	<xref linkend="sec.hook.pretag"/>)
 18.2175 -      </para>
 18.2176 -
 18.2177 -    </sect2>
 18.2178 -    <sect2 id="sec.hook.update">
 18.2179 +	  linkend="sec:hook:commit"/>) is run before this hook.
 18.2180 +      </para>
 18.2181 +
 18.2182 +      <para id="x_2e2">See also: <literal role="hook">pretag</literal>
 18.2183 +	(<xref linkend="sec:hook:pretag"/>)
 18.2184 +      </para>
 18.2185 +
 18.2186 +    </sect2>
 18.2187 +    <sect2 id="sec:hook:update">
 18.2188        <title><literal role="hook">update</literal>&emdash;after
 18.2189  	updating or merging working directory</title>
 18.2190  
 18.2191 -      <para>This hook is run after an update or merge of the working
 18.2192 +      <para id="x_2e3">This hook is run after an update or merge of the working
 18.2193  	directory completes.  Since a merge can fail (if the external
 18.2194  	<command>hgmerge</command> command fails to resolve conflicts
 18.2195  	in a file), this hook communicates whether the update or merge
 18.2196 @@ -2005,25 +2006,25 @@
 18.2197        </para>
 18.2198  
 18.2199        <itemizedlist>
 18.2200 -	<listitem><para><literal>error</literal>: A boolean.
 18.2201 +	<listitem><para id="x_2e4"><literal>error</literal>: A boolean.
 18.2202  	    Indicates whether the update or merge completed
 18.2203  	    successfully.
 18.2204  	  </para>
 18.2205  	</listitem>
 18.2206 -	<listitem><para><literal>parent1</literal>: A changeset ID.
 18.2207 +	<listitem><para id="x_2e5"><literal>parent1</literal>: A changeset ID.
 18.2208  	    The ID of the parent that the working directory was
 18.2209  	    updated to.  If the working directory was merged, it will
 18.2210  	    not have changed this parent.
 18.2211  	  </para>
 18.2212  	</listitem>
 18.2213 -	<listitem><para><literal>parent2</literal>: A changeset ID.
 18.2214 +	<listitem><para id="x_2e6"><literal>parent2</literal>: A changeset ID.
 18.2215  	    Only set if the working directory was merged.  The ID of
 18.2216  	    the revision that the working directory was merged with.
 18.2217  	  </para>
 18.2218  	</listitem></itemizedlist>
 18.2219  
 18.2220 -      <para>See also: <literal role="hook">preupdate</literal>
 18.2221 -	(section <xref linkend="sec.hook.preupdate"/>)
 18.2222 +      <para id="x_2e7">See also: <literal role="hook">preupdate</literal>
 18.2223 +	(<xref linkend="sec:hook:preupdate"/>)
 18.2224        </para>
 18.2225  
 18.2226      </sect2>
    19.1 --- a/en/ch10-template.xml	Fri Mar 20 17:17:55 2009 +0800
    19.2 +++ b/en/ch10-template.xml	Mon Mar 30 16:23:33 2009 +0800
    19.3 @@ -1,6 +1,6 @@
    19.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    19.5  
    19.6 -<chapter id="chap.template">
    19.7 +<chapter id="chap:template">
    19.8    <?dbhtml filename="customizing-the-output-of-mercurial.html"?>
    19.9    <title>Customising the output of Mercurial</title>
   19.10  
   19.11 @@ -10,7 +10,7 @@
   19.12      command, or to customise the entire appearance of the built-in web
   19.13      interface.</para>
   19.14  
   19.15 -  <sect1 id="sec.style">
   19.16 +  <sect1 id="sec:style">
   19.17      <title>Using precanned output styles</title>
   19.18  
   19.19      <para id="x_579">Packaged with Mercurial are some output styles that you can
   19.20 @@ -107,7 +107,7 @@
   19.21        <emphasis>escape sequence</emphasis>, telling Mercurial to print
   19.22        a newline at the end of each template item.  If you omit this
   19.23        newline, Mercurial will run each piece of output together.  See
   19.24 -      section <xref linkend="sec.template.escape"/> for more details
   19.25 +      <xref linkend="sec:template:escape"/> for more details
   19.26        of escape sequences.</para>
   19.27  
   19.28      <para id="x_587">A template that prints a fixed string of text all the time
   19.29 @@ -121,14 +121,13 @@
   19.30        been replaced in the output with the description of each
   19.31        changeset.  Every time Mercurial finds text enclosed in curly
   19.32        braces (<quote><literal>{</literal></quote> and
   19.33 -      <quote><literal>}</literal></quote>), it will try to replace the braces
   19.34 -      and text with the expansion of whatever is inside.  To print a
   19.35 -      literal curly brace, you must escape it, as described in section
   19.36 -      <xref
   19.37 -	linkend="sec.template.escape"/>.</para>
   19.38 -
   19.39 -  </sect1>
   19.40 -  <sect1 id="sec.template.keyword">
   19.41 +      <quote><literal>}</literal></quote>), it will try to replace the
   19.42 +      braces and text with the expansion of whatever is inside.  To
   19.43 +      print a literal curly brace, you must escape it, as described in
   19.44 +      <xref linkend="sec:template:escape"/>.</para>
   19.45 +
   19.46 +  </sect1>
   19.47 +  <sect1 id="sec:template:keyword">
   19.48      <title>Common template keywords</title>
   19.49  
   19.50      <para id="x_589">You can start writing simple templates immediately using the
   19.51 @@ -149,8 +148,8 @@
   19.52  	  Date information.  The date when the changeset was
   19.53  	  committed.  This is <emphasis>not</emphasis> human-readable;
   19.54  	  you must pass it through a filter that will render it
   19.55 -	  appropriately.  See section <xref
   19.56 -	    linkend="sec.template.filter"/> for more information
   19.57 +	  appropriately.  See <xref
   19.58 +	    linkend="sec:template:filter"/> for more information
   19.59  	  on filters. The date is expressed as a pair of numbers.  The
   19.60  	  first number is a Unix UTC timestamp (seconds since January
   19.61  	  1, 1970); the second is the offset of the committer's
   19.62 @@ -197,13 +196,12 @@
   19.63      <para id="x_596">As we noted above, the date keyword does not produce
   19.64        human-readable output, so we must treat it specially.  This
   19.65        involves using a <emphasis>filter</emphasis>, about which more
   19.66 -      in section <xref
   19.67 -	linkend="sec.template.filter"/>.</para>
   19.68 +      in <xref linkend="sec:template:filter"/>.</para>
   19.69  
   19.70      &interaction.template.simple.datekeyword;
   19.71  
   19.72    </sect1>
   19.73 -  <sect1 id="sec.template.escape">
   19.74 +  <sect1 id="sec:template:escape">
   19.75      <title>Escape sequences</title>
   19.76  
   19.77      <para id="x_597">Mercurial's templating engine recognises the most commonly
   19.78 @@ -245,7 +243,7 @@
   19.79        it.</para>
   19.80  
   19.81    </sect1>
   19.82 -  <sect1 id="sec.template.filter">
   19.83 +  <sect1 id="sec:template:filter">
   19.84      <title>Filtering keywords to change their results</title>
   19.85  
   19.86      <para id="x_5a0">Some of the results of template expansion are not
    20.1 --- a/en/ch11-mq.xml	Fri Mar 20 17:17:55 2009 +0800
    20.2 +++ b/en/ch11-mq.xml	Mon Mar 30 16:23:33 2009 +0800
    20.3 @@ -1,13 +1,13 @@
    20.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    20.5  
    20.6 -<chapter id="chap.mq">
    20.7 +<chapter id="chap:mq">
    20.8    <?dbhtml filename="managing-change-with-mercurial-queues.html"?>
    20.9    <title>Managing change with Mercurial Queues</title>
   20.10  
   20.11 -  <sect1 id="sec.mq.patch-mgmt">
   20.12 +  <sect1 id="sec:mq:patch-mgmt">
   20.13      <title>The patch management problem</title>
   20.14  
   20.15 -    <para>Here is a common scenario: you need to install a software
   20.16 +    <para id="x_3ac">Here is a common scenario: you need to install a software
   20.17        package from source, but you find a bug that you must fix in the
   20.18        source before you can start using the package.  You make your
   20.19        changes, forget about the package for a while, and a few months
   20.20 @@ -17,27 +17,27 @@
   20.21        the newer version.  This is a tedious task, and it's easy to
   20.22        make mistakes.</para>
   20.23  
   20.24 -    <para>This is a simple case of the <quote>patch management</quote>
   20.25 +    <para id="x_3ad">This is a simple case of the <quote>patch management</quote>
   20.26        problem.  You have an <quote>upstream</quote> source tree that
   20.27        you can't change; you need to make some local changes on top of
   20.28        the upstream tree; and you'd like to be able to keep those
   20.29        changes separate, so that you can apply them to newer versions
   20.30        of the upstream source.</para>
   20.31  
   20.32 -    <para>The patch management problem arises in many situations.
   20.33 +    <para id="x_3ae">The patch management problem arises in many situations.
   20.34        Probably the most visible is that a user of an open source
   20.35        software project will contribute a bug fix or new feature to the
   20.36        project's maintainers in the form of a patch.</para>
   20.37  
   20.38 -    <para>Distributors of operating systems that include open source
   20.39 +    <para id="x_3af">Distributors of operating systems that include open source
   20.40        software often need to make changes to the packages they
   20.41        distribute so that they will build properly in their
   20.42        environments.</para>
   20.43  
   20.44 -    <para>When you have few changes to maintain, it is easy to manage
   20.45 +    <para id="x_3b0">When you have few changes to maintain, it is easy to manage
   20.46        a single patch using the standard <command>diff</command> and
   20.47 -      <command>patch</command> programs (see section <xref
   20.48 -	linkend="sec.mq.patch"/> for a discussion of these
   20.49 +      <command>patch</command> programs (see <xref
   20.50 +	linkend="sec:mq:patch"/> for a discussion of these
   20.51        tools). Once the number of changes grows, it starts to make
   20.52        sense to maintain patches as discrete <quote>chunks of
   20.53  	work,</quote> so that for example a single patch will contain
   20.54 @@ -49,37 +49,37 @@
   20.55        your fix in a subsequent release, you can simply drop that
   20.56        single patch when you're updating to the newer release.</para>
   20.57  
   20.58 -    <para>Maintaining a single patch against an upstream tree is a
   20.59 +    <para id="x_3b1">Maintaining a single patch against an upstream tree is a
   20.60        little tedious and error-prone, but not difficult.  However, the
   20.61        complexity of the problem grows rapidly as the number of patches
   20.62        you have to maintain increases.  With more than a tiny number of
   20.63        patches in hand, understanding which ones you have applied and
   20.64        maintaining them moves from messy to overwhelming.</para>
   20.65  
   20.66 -    <para>Fortunately, Mercurial includes a powerful extension,
   20.67 +    <para id="x_3b2">Fortunately, Mercurial includes a powerful extension,
   20.68        Mercurial Queues (or simply <quote>MQ</quote>), that massively
   20.69        simplifies the patch management problem.</para>
   20.70  
   20.71    </sect1>
   20.72 -  <sect1 id="sec.mq.history">
   20.73 +  <sect1 id="sec:mq:history">
   20.74      <title>The prehistory of Mercurial Queues</title>
   20.75  
   20.76 -    <para>During the late 1990s, several Linux kernel developers
   20.77 +    <para id="x_3b3">During the late 1990s, several Linux kernel developers
   20.78        started to maintain <quote>patch series</quote> that modified
   20.79        the behaviour of the Linux kernel.  Some of these series were
   20.80        focused on stability, some on feature coverage, and others were
   20.81        more speculative.</para>
   20.82  
   20.83 -    <para>The sizes of these patch series grew rapidly.  In 2002,
   20.84 +    <para id="x_3b4">The sizes of these patch series grew rapidly.  In 2002,
   20.85        Andrew Morton published some shell scripts he had been using to
   20.86        automate the task of managing his patch queues.  Andrew was
   20.87        successfully using these scripts to manage hundreds (sometimes
   20.88        thousands) of patches on top of the Linux kernel.</para>
   20.89  
   20.90 -    <sect2 id="sec.mq.quilt">
   20.91 +    <sect2 id="sec:mq:quilt">
   20.92        <title>A patchwork quilt</title>
   20.93  
   20.94 -      <para>In early 2003, Andreas Gruenbacher and Martin Quinson
   20.95 +      <para id="x_3b5">In early 2003, Andreas Gruenbacher and Martin Quinson
   20.96  	borrowed the approach of Andrew's scripts and published a tool
   20.97  	called <quote>patchwork quilt</quote>
   20.98  	<citation>web:quilt</citation>, or simply <quote>quilt</quote>
   20.99 @@ -88,7 +88,7 @@
  20.100  	management, it rapidly gained a large following among open
  20.101  	source software developers.</para>
  20.102  
  20.103 -      <para>Quilt manages a <emphasis>stack of patches</emphasis> on
  20.104 +      <para id="x_3b6">Quilt manages a <emphasis>stack of patches</emphasis> on
  20.105  	top of a directory tree. To begin, you tell quilt to manage a
  20.106  	directory tree, and tell it which files you want to manage; it
  20.107  	stores away the names and contents of those files.  To fix a
  20.108 @@ -96,14 +96,14 @@
  20.109  	files you need to fix, then <quote>refresh</quote> the
  20.110  	patch.</para>
  20.111  
  20.112 -      <para>The refresh step causes quilt to scan the directory tree;
  20.113 +      <para id="x_3b7">The refresh step causes quilt to scan the directory tree;
  20.114  	it updates the patch with all of the changes you have made.
  20.115  	You can create another patch on top of the first, which will
  20.116  	track the changes required to modify the tree from <quote>tree
  20.117  	  with one patch applied</quote> to <quote>tree with two
  20.118  	  patches applied</quote>.</para>
  20.119  
  20.120 -      <para>You can <emphasis>change</emphasis> which patches are
  20.121 +      <para id="x_3b8">You can <emphasis>change</emphasis> which patches are
  20.122  	applied to the tree.  If you <quote>pop</quote> a patch, the
  20.123  	changes made by that patch will vanish from the directory
  20.124  	tree.  Quilt remembers which patches you have popped, though,
  20.125 @@ -115,25 +115,25 @@
  20.126  	any time, change both which patches are applied and what
  20.127  	modifications those patches make.</para>
  20.128  
  20.129 -      <para>Quilt knows nothing about revision control tools, so it
  20.130 +      <para id="x_3b9">Quilt knows nothing about revision control tools, so it
  20.131  	works equally well on top of an unpacked tarball or a
  20.132  	Subversion working copy.</para>
  20.133  
  20.134      </sect2>
  20.135 -    <sect2 id="sec.mq.quilt-mq">
  20.136 +    <sect2 id="sec:mq:quilt-mq">
  20.137        <title>From patchwork quilt to Mercurial Queues</title>
  20.138  
  20.139 -      <para>In mid-2005, Chris Mason took the features of quilt and
  20.140 +      <para id="x_3ba">In mid-2005, Chris Mason took the features of quilt and
  20.141  	wrote an extension that he called Mercurial Queues, which
  20.142  	added quilt-like behaviour to Mercurial.</para>
  20.143  
  20.144 -      <para>The key difference between quilt and MQ is that quilt
  20.145 +      <para id="x_3bb">The key difference between quilt and MQ is that quilt
  20.146  	knows nothing about revision control systems, while MQ is
  20.147  	<emphasis>integrated</emphasis> into Mercurial.  Each patch
  20.148  	that you push is represented as a Mercurial changeset.  Pop a
  20.149  	patch, and the changeset goes away.</para>
  20.150  
  20.151 -      <para>Because quilt does not care about revision control tools,
  20.152 +      <para id="x_3bc">Because quilt does not care about revision control tools,
  20.153  	it is still a tremendously useful piece of software to know
  20.154  	about for situations where you cannot use Mercurial and
  20.155  	MQ.</para>
  20.156 @@ -143,16 +143,16 @@
  20.157    <sect1>
  20.158      <title>The huge advantage of MQ</title>
  20.159  
  20.160 -    <para>I cannot overstate the value that MQ offers through the
  20.161 +    <para id="x_3bd">I cannot overstate the value that MQ offers through the
  20.162        unification of patches and revision control.</para>
  20.163  
  20.164 -    <para>A major reason that patches have persisted in the free
  20.165 +    <para id="x_3be">A major reason that patches have persisted in the free
  20.166        software and open source world&emdash;in spite of the
  20.167        availability of increasingly capable revision control tools over
  20.168        the years&emdash;is the <emphasis>agility</emphasis> they
  20.169        offer.</para>
  20.170  
  20.171 -    <para>Traditional revision control tools make a permanent,
  20.172 +    <para id="x_3bf">Traditional revision control tools make a permanent,
  20.173        irreversible record of everything that you do.  While this has
  20.174        great value, it's also somewhat stifling.  If you want to
  20.175        perform a wild-eyed experiment, you have to be careful in how
  20.176 @@ -160,7 +160,7 @@
  20.177        misleading or destabilising&emdash;traces of your missteps and
  20.178        errors in the permanent revision record.</para>
  20.179  
  20.180 -    <para>By contrast, MQ's marriage of distributed revision control
  20.181 +    <para id="x_3c0">By contrast, MQ's marriage of distributed revision control
  20.182        with patches makes it much easier to isolate your work.  Your
  20.183        patches live on top of normal revision history, and you can make
  20.184        them disappear or reappear at will.  If you don't like a patch,
  20.185 @@ -168,7 +168,7 @@
  20.186        simply fix it&emdash;as many times as you need to, until you
  20.187        have refined it into the form you desire.</para>
  20.188  
  20.189 -    <para>As an example, the integration of patches with revision
  20.190 +    <para id="x_3c1">As an example, the integration of patches with revision
  20.191        control makes understanding patches and debugging their
  20.192        effects&emdash;and their interplay with the code they're based
  20.193        on&emdash;<emphasis>enormously</emphasis> easier. Since every
  20.194 @@ -183,14 +183,14 @@
  20.195        And so on.</para>
  20.196  
  20.197    </sect1>
  20.198 -  <sect1 id="sec.mq.patch">
  20.199 +  <sect1 id="sec:mq:patch">
  20.200      <title>Understanding patches</title>
  20.201  
  20.202 -    <para>Because MQ doesn't hide its patch-oriented nature, it is
  20.203 +    <para id="x_3c2">Because MQ doesn't hide its patch-oriented nature, it is
  20.204        helpful to understand what patches are, and a little about the
  20.205        tools that work with them.</para>
  20.206  
  20.207 -    <para>The traditional Unix <command>diff</command> command
  20.208 +    <para id="x_3c3">The traditional Unix <command>diff</command> command
  20.209        compares two files, and prints a list of differences between
  20.210        them. The <command>patch</command> command understands these
  20.211        differences as <emphasis>modifications</emphasis> to make to a
  20.212 @@ -199,20 +199,20 @@
  20.213  
  20.214  &interaction.mq.dodiff.diff;
  20.215  
  20.216 -    <para>The type of file that <command>diff</command> generates (and
  20.217 +    <para id="x_3c4">The type of file that <command>diff</command> generates (and
  20.218        <command>patch</command> takes as input) is called a
  20.219        <quote>patch</quote> or a <quote>diff</quote>; there is no
  20.220        difference between a patch and a diff.  (We'll use the term
  20.221        <quote>patch</quote>, since it's more commonly used.)</para>
  20.222  
  20.223 -    <para>A patch file can start with arbitrary text; the
  20.224 +    <para id="x_3c5">A patch file can start with arbitrary text; the
  20.225        <command>patch</command> command ignores this text, but MQ uses
  20.226        it as the commit message when creating changesets.  To find the
  20.227        beginning of the patch content, <command>patch</command>
  20.228        searches for the first line that starts with the string
  20.229        <quote><literal>diff -</literal></quote>.</para>
  20.230  
  20.231 -    <para>MQ works with <emphasis>unified</emphasis> diffs
  20.232 +    <para id="x_3c6">MQ works with <emphasis>unified</emphasis> diffs
  20.233        (<command>patch</command> can accept several other diff formats,
  20.234        but MQ doesn't).  A unified diff contains two kinds of header.
  20.235        The <emphasis>file header</emphasis> describes the file being
  20.236 @@ -220,7 +220,7 @@
  20.237        <command>patch</command> sees a new file header, it looks for a
  20.238        file with that name to start modifying.</para>
  20.239  
  20.240 -    <para>After the file header comes a series of
  20.241 +    <para id="x_3c7">After the file header comes a series of
  20.242        <emphasis>hunks</emphasis>.  Each hunk starts with a header;
  20.243        this identifies the range of line numbers within the file that
  20.244        the hunk should modify.  Following the header, a hunk starts and
  20.245 @@ -232,7 +232,7 @@
  20.246        runs the hunks together, with a few lines of context between
  20.247        modifications.</para>
  20.248  
  20.249 -    <para>Each line of context begins with a space character.  Within
  20.250 +    <para id="x_3c8">Each line of context begins with a space character.  Within
  20.251        the hunk, a line that begins with
  20.252        <quote><literal>-</literal></quote> means <quote>remove this
  20.253  	line,</quote> while a line that begins with
  20.254 @@ -240,16 +240,16 @@
  20.255  	line.</quote>  For example, a line that is modified is
  20.256        represented by one deletion and one insertion.</para>
  20.257  
  20.258 -    <para>We will return to some of the more subtle aspects of patches
  20.259 -      later (in section <xref linkend="sec.mq.adv-patch"/>), but you
  20.260 +    <para id="x_3c9">We will return to some of the more subtle aspects of patches
  20.261 +      later (in <xref linkend="sec:mq:adv-patch"/>), but you
  20.262        should have
  20.263        enough information now to use MQ.</para>
  20.264  
  20.265    </sect1>
  20.266 -  <sect1 id="sec.mq.start">
  20.267 +  <sect1 id="sec:mq:start">
  20.268      <title>Getting started with Mercurial Queues</title>
  20.269  
  20.270 -    <para>Because MQ is implemented as an extension, you must
  20.271 +    <para id="x_3ca">Because MQ is implemented as an extension, you must
  20.272        explicitly enable before you can use it.  (You don't need to
  20.273        download anything; MQ ships with the standard Mercurial
  20.274        distribution.)  To enable MQ, edit your <filename
  20.275 @@ -259,7 +259,7 @@
  20.276      <programlisting>[extensions]
  20.277  hgext.mq =</programlisting>
  20.278  
  20.279 -    <para>Once the extension is enabled, it will make a number of new
  20.280 +    <para id="x_3cb">Once the extension is enabled, it will make a number of new
  20.281        commands available.  To verify that the extension is working,
  20.282        you can use <command role="hg-cmd">hg help</command> to see if
  20.283        the <command role="hg-ext-mq">qinit</command> command is now
  20.284 @@ -267,14 +267,14 @@
  20.285  
  20.286  &interaction.mq.qinit-help.help;
  20.287  
  20.288 -    <para>You can use MQ with <emphasis>any</emphasis> Mercurial
  20.289 +    <para id="x_3cc">You can use MQ with <emphasis>any</emphasis> Mercurial
  20.290        repository, and its commands only operate within that
  20.291        repository.  To get started, simply prepare the repository using
  20.292        the <command role="hg-ext-mq">qinit</command> command.</para>
  20.293  
  20.294  &interaction.mq.tutorial.qinit;
  20.295  
  20.296 -    <para>This command creates an empty directory called <filename
  20.297 +    <para id="x_3cd">This command creates an empty directory called <filename
  20.298  	role="special" class="directory">.hg/patches</filename>, where
  20.299        MQ will keep its metadata.  As with many Mercurial commands, the
  20.300        <command role="hg-ext-mq">qinit</command> command prints nothing
  20.301 @@ -283,18 +283,18 @@
  20.302      <sect2>
  20.303        <title>Creating a new patch</title>
  20.304  
  20.305 -      <para>To begin work on a new patch, use the <command
  20.306 +      <para id="x_3ce">To begin work on a new patch, use the <command
  20.307  	  role="hg-ext-mq">qnew</command> command.  This command takes
  20.308  	one argument, the name of the patch to create.</para>
  20.309  
  20.310 -      <para>MQ will use this as the name of an actual file in the
  20.311 +      <para id="x_3cf">MQ will use this as the name of an actual file in the
  20.312  	<filename role="special"
  20.313  	  class="directory">.hg/patches</filename> directory, as you
  20.314  	can see below.</para>
  20.315  
  20.316  &interaction.mq.tutorial.qnew;
  20.317  
  20.318 -      <para>Also newly present in the <filename role="special"
  20.319 +      <para id="x_3d0">Also newly present in the <filename role="special"
  20.320  	  class="directory">.hg/patches</filename> directory are two
  20.321  	other files, <filename role="special">series</filename> and
  20.322  	<filename role="special">status</filename>.  The <filename
  20.323 @@ -306,7 +306,7 @@
  20.324  	<emphasis>applied</emphasis> in this repository.</para>
  20.325  
  20.326        <note>
  20.327 -	<para>  You may sometimes want to edit the <filename
  20.328 +	<para id="x_3d1">  You may sometimes want to edit the <filename
  20.329  	    role="special">series</filename> file by hand; for
  20.330  	  example, to change the sequence in which some patches are
  20.331  	  applied.  However, manually editing the <filename
  20.332 @@ -315,7 +315,7 @@
  20.333  	  happening.</para>
  20.334        </note>
  20.335  
  20.336 -      <para>Once you have created your new patch, you can edit files
  20.337 +      <para id="x_3d2">Once you have created your new patch, you can edit files
  20.338  	in the working directory as you usually would.  All of the
  20.339  	normal Mercurial commands, such as <command role="hg-cmd">hg
  20.340  	  diff</command> and <command role="hg-cmd">hg
  20.341 @@ -325,17 +325,17 @@
  20.342      <sect2>
  20.343        <title>Refreshing a patch</title>
  20.344  
  20.345 -      <para>When you reach a point where you want to save your work,
  20.346 +      <para id="x_3d3">When you reach a point where you want to save your work,
  20.347  	use the <command role="hg-ext-mq">qrefresh</command> command
  20.348  	to update the patch you are working on.</para>
  20.349  
  20.350  &interaction.mq.tutorial.qrefresh;
  20.351  
  20.352 -      <para>This command folds the changes you have made in the
  20.353 +      <para id="x_3d4">This command folds the changes you have made in the
  20.354  	working directory into your patch, and updates its
  20.355  	corresponding changeset to contain those changes.</para>
  20.356  
  20.357 -      <para>You can run <command role="hg-ext-mq">qrefresh</command>
  20.358 +      <para id="x_3d5">You can run <command role="hg-ext-mq">qrefresh</command>
  20.359  	as often as you like, so it's a good way to
  20.360  	<quote>checkpoint</quote> your work.  Refresh your patch at an
  20.361  	opportune time; try an experiment; and if the experiment
  20.362 @@ -348,19 +348,19 @@
  20.363      <sect2>
  20.364        <title>Stacking and tracking patches</title>
  20.365  
  20.366 -      <para>Once you have finished working on a patch, or need to work
  20.367 +      <para id="x_3d6">Once you have finished working on a patch, or need to work
  20.368  	on another, you can use the <command
  20.369  	  role="hg-ext-mq">qnew</command> command again to create a
  20.370  	new patch. Mercurial will apply this patch on top of your
  20.371  	existing patch.</para>
  20.372  
  20.373  &interaction.mq.tutorial.qnew2;
  20.374 -      <para>Notice that the patch contains the changes in our prior
  20.375 +      <para id="x_3d7">Notice that the patch contains the changes in our prior
  20.376  	patch as part of its context (you can see this more clearly in
  20.377  	the output of <command role="hg-cmd">hg
  20.378  	  annotate</command>).</para>
  20.379  
  20.380 -      <para>So far, with the exception of <command
  20.381 +      <para id="x_3d8">So far, with the exception of <command
  20.382  	  role="hg-ext-mq">qnew</command> and <command
  20.383  	  role="hg-ext-mq">qrefresh</command>, we've been careful to
  20.384  	only use regular Mercurial commands.  However, MQ provides
  20.385 @@ -370,13 +370,13 @@
  20.386  &interaction.mq.tutorial.qseries;
  20.387  
  20.388        <itemizedlist>
  20.389 -	<listitem><para>The <command
  20.390 +	<listitem><para id="x_3d9">The <command
  20.391  	      role="hg-ext-mq">qseries</command> command lists every
  20.392  	    patch that MQ knows about in this repository, from oldest
  20.393  	    to newest (most recently
  20.394  	    <emphasis>created</emphasis>).</para>
  20.395  	</listitem>
  20.396 -	<listitem><para>The <command
  20.397 +	<listitem><para id="x_3da">The <command
  20.398  	      role="hg-ext-mq">qapplied</command> command lists every
  20.399  	    patch that MQ has <emphasis>applied</emphasis> in this
  20.400  	    repository, again from oldest to newest (most recently
  20.401 @@ -387,12 +387,12 @@
  20.402      <sect2>
  20.403        <title>Manipulating the patch stack</title>
  20.404  
  20.405 -      <para>The previous discussion implied that there must be a
  20.406 +      <para id="x_3db">The previous discussion implied that there must be a
  20.407  	difference between <quote>known</quote> and
  20.408  	<quote>applied</quote> patches, and there is.  MQ can manage a
  20.409  	patch without it being applied in the repository.</para>
  20.410  
  20.411 -      <para>An <emphasis>applied</emphasis> patch has a corresponding
  20.412 +      <para id="x_3dc">An <emphasis>applied</emphasis> patch has a corresponding
  20.413  	changeset in the repository, and the effects of the patch and
  20.414  	changeset are visible in the working directory.  You can undo
  20.415  	the application of a patch using the <command
  20.416 @@ -400,20 +400,20 @@
  20.417  	<emphasis>knows about</emphasis>, or manages, a popped patch,
  20.418  	but the patch no longer has a corresponding changeset in the
  20.419  	repository, and the working directory does not contain the
  20.420 -	changes made by the patch.  Figure <xref
  20.421 -	  endterm="fig.mq.stack.caption" linkend="fig.mq.stack"/> illustrates
  20.422 +	changes made by the patch.  <xref
  20.423 +	  linkend="fig:mq:stack"/> illustrates
  20.424  	the difference between applied and tracked patches.</para>
  20.425  
  20.426 -      <informalfigure id="fig.mq.stack">
  20.427 -        <mediaobject>
  20.428 -          <imageobject><imagedata fileref="images/mq-stack.png"/></imageobject>
  20.429 -          <textobject><phrase>XXX add text</phrase></textobject>
  20.430 -          <caption><para id="fig.mq.stack.caption">Applied and unapplied patches
  20.431 -            in the MQ patch stack</para></caption>
  20.432 -          </mediaobject>
  20.433 -      </informalfigure>
  20.434 -
  20.435 -      <para>You can reapply an unapplied, or popped, patch using the
  20.436 +      <figure id="fig:mq:stack">
  20.437 +	<title>Applied and unapplied patches in the MQ patch
  20.438 +	  stack</title>
  20.439 +	<mediaobject>
  20.440 +	  <imageobject><imagedata fileref="figs/mq-stack.png"/></imageobject>
  20.441 +	  <textobject><phrase>XXX add text</phrase></textobject>
  20.442 +	</mediaobject>
  20.443 +      </figure>
  20.444 +
  20.445 +      <para id="x_3de">You can reapply an unapplied, or popped, patch using the
  20.446  	<command role="hg-ext-mq">qpush</command> command.  This
  20.447  	creates a new changeset to correspond to the patch, and the
  20.448  	patch's changes once again become present in the working
  20.449 @@ -422,7 +422,7 @@
  20.450  	  role="hg-ext-mq">qpush</command> in action.</para>
  20.451  &interaction.mq.tutorial.qpop;
  20.452  
  20.453 -      <para>Notice that once we have popped a patch or two patches,
  20.454 +      <para id="x_3df">Notice that once we have popped a patch or two patches,
  20.455  	the output of <command role="hg-ext-mq">qseries</command>
  20.456  	remains the same, while that of <command
  20.457  	  role="hg-ext-mq">qapplied</command> has changed.</para>
  20.458 @@ -432,7 +432,7 @@
  20.459      <sect2>
  20.460        <title>Pushing and popping many patches</title>
  20.461  
  20.462 -      <para>While <command role="hg-ext-mq">qpush</command> and
  20.463 +      <para id="x_3e0">While <command role="hg-ext-mq">qpush</command> and
  20.464  	<command role="hg-ext-mq">qpop</command> each operate on a
  20.465  	single patch at a time by default, you can push and pop many
  20.466  	patches in one go.  The <option
  20.467 @@ -442,8 +442,7 @@
  20.468  	  role="hg-ext-mq-cmd-qpop-opt">-a</option> option to <command
  20.469  	  role="hg-ext-mq">qpop</command> causes it to pop all applied
  20.470  	patches.  (For some more ways to push and pop many patches,
  20.471 -	see section <xref linkend="sec.mq.perf"/>
  20.472 -	below.)</para>
  20.473 +	see <xref linkend="sec:mq:perf"/> below.)</para>
  20.474  
  20.475  &interaction.mq.tutorial.qpush-a;
  20.476  
  20.477 @@ -451,7 +450,7 @@
  20.478      <sect2>
  20.479        <title>Safety checks, and overriding them</title>
  20.480  
  20.481 -      <para>Several MQ commands check the working directory before
  20.482 +      <para id="x_3e1">Several MQ commands check the working directory before
  20.483  	they do anything, and fail if they find any modifications.
  20.484  	They do this to ensure that you won't lose any changes that
  20.485  	you have made, but not yet incorporated into a patch.  The
  20.486 @@ -463,7 +462,7 @@
  20.487  
  20.488  &interaction.mq.tutorial.add;
  20.489  
  20.490 -      <para>Commands that check the working directory all take an
  20.491 +      <para id="x_3e2">Commands that check the working directory all take an
  20.492  	<quote>I know what I'm doing</quote> option, which is always
  20.493  	named <option>-f</option>.  The exact meaning of
  20.494  	<option>-f</option> depends on the command.  For example,
  20.495 @@ -480,14 +479,14 @@
  20.496      <sect2>
  20.497        <title>Working on several patches at once</title>
  20.498  
  20.499 -      <para>The <command role="hg-ext-mq">qrefresh</command> command
  20.500 +      <para id="x_3e3">The <command role="hg-ext-mq">qrefresh</command> command
  20.501  	always refreshes the <emphasis>topmost</emphasis> applied
  20.502  	patch.  This means that you can suspend work on one patch (by
  20.503  	refreshing it), pop or push to make a different patch the top,
  20.504  	and work on <emphasis>that</emphasis> patch for a
  20.505  	while.</para>
  20.506  
  20.507 -      <para>Here's an example that illustrates how you can use this
  20.508 +      <para id="x_3e4">Here's an example that illustrates how you can use this
  20.509  	ability. Let's say you're developing a new feature as two
  20.510  	patches.  The first is a change to the core of your software,
  20.511  	and the second&emdash;layered on top of the
  20.512 @@ -503,10 +502,10 @@
  20.513  
  20.514      </sect2>
  20.515    </sect1>
  20.516 -  <sect1 id="sec.mq.adv-patch">
  20.517 +  <sect1 id="sec:mq:adv-patch">
  20.518      <title>More about patches</title>
  20.519  
  20.520 -    <para>MQ uses the GNU <command>patch</command> command to apply
  20.521 +    <para id="x_3e5">MQ uses the GNU <command>patch</command> command to apply
  20.522        patches, so it's helpful to know a few more detailed aspects of
  20.523        how <command>patch</command> works, and about patches
  20.524        themselves.</para>
  20.525 @@ -514,14 +513,14 @@
  20.526      <sect2>
  20.527        <title>The strip count</title>
  20.528  
  20.529 -      <para>If you look at the file headers in a patch, you will
  20.530 +      <para id="x_3e6">If you look at the file headers in a patch, you will
  20.531  	notice that the pathnames usually have an extra component on
  20.532  	the front that isn't present in the actual path name.  This is
  20.533  	a holdover from the way that people used to generate patches
  20.534  	(people still do this, but it's somewhat rare with modern
  20.535  	revision control tools).</para>
  20.536  
  20.537 -      <para>Alice would unpack a tarball, edit her files, then decide
  20.538 +      <para id="x_3e7">Alice would unpack a tarball, edit her files, then decide
  20.539  	that she wanted to create a patch.  So she'd rename her
  20.540  	working directory, unpack the tarball again (hence the need
  20.541  	for the rename), and use the <option
  20.542 @@ -534,7 +533,7 @@
  20.543  	header, and the name of the modified directory would be at the
  20.544  	front of the right-hand path.</para>
  20.545  
  20.546 -      <para>Since someone receiving a patch from the Alices of the net
  20.547 +      <para id="x_3e8">Since someone receiving a patch from the Alices of the net
  20.548  	would be unlikely to have unmodified and modified directories
  20.549  	with exactly the same names, the <command>patch</command>
  20.550  	command has a <option role="cmd-opt-patch">-p</option> option
  20.551 @@ -542,7 +541,7 @@
  20.552  	strip when trying to apply a patch.  This number is called the
  20.553  	<emphasis>strip count</emphasis>.</para>
  20.554  
  20.555 -      <para>An option of <quote><literal>-p1</literal></quote> means
  20.556 +      <para id="x_3e9">An option of <quote><literal>-p1</literal></quote> means
  20.557  	<quote>use a strip count of one</quote>.  If
  20.558  	<command>patch</command> sees a file name
  20.559  	<filename>foo/bar/baz</filename> in a file header, it will
  20.560 @@ -555,7 +554,7 @@
  20.561  	but <filename>/foo/bar</filename> (notice the extra leading
  20.562  	slash) into <filename>foo/bar</filename>.)</para>
  20.563  
  20.564 -      <para>The <quote>standard</quote> strip count for patches is
  20.565 +      <para id="x_3ea">The <quote>standard</quote> strip count for patches is
  20.566  	one; almost all patches contain one leading path name
  20.567  	component that needs to be stripped. Mercurial's <command
  20.568  	  role="hg-cmd">hg diff</command> command generates path names
  20.569 @@ -563,7 +562,7 @@
  20.570  	  import</command> command and MQ expect patches to have a
  20.571  	strip count of one.</para>
  20.572  
  20.573 -      <para>If you receive a patch from someone that you want to add
  20.574 +      <para id="x_3eb">If you receive a patch from someone that you want to add
  20.575  	to your patch queue, and the patch needs a strip count other
  20.576  	than one, you cannot just <command
  20.577  	  role="hg-ext-mq">qimport</command> the patch, because
  20.578 @@ -584,14 +583,14 @@
  20.579      <sect2>
  20.580        <title>Strategies for applying a patch</title>
  20.581  
  20.582 -      <para>When <command>patch</command> applies a hunk, it tries a
  20.583 +      <para id="x_3ec">When <command>patch</command> applies a hunk, it tries a
  20.584  	handful of successively less accurate strategies to try to
  20.585  	make the hunk apply. This falling-back technique often makes
  20.586  	it possible to take a patch that was generated against an old
  20.587  	version of a file, and apply it against a newer version of
  20.588  	that file.</para>
  20.589  
  20.590 -      <para>First, <command>patch</command> tries an exact match,
  20.591 +      <para id="x_3ed">First, <command>patch</command> tries an exact match,
  20.592  	where the line numbers, the context, and the text to be
  20.593  	modified must apply exactly.  If it cannot make an exact
  20.594  	match, it tries to find an exact match for the context,
  20.595 @@ -600,7 +599,7 @@
  20.596  	applied, but at some <emphasis>offset</emphasis> from the
  20.597  	original line number.</para>
  20.598  
  20.599 -      <para>If a context-only match fails, <command>patch</command>
  20.600 +      <para id="x_3ee">If a context-only match fails, <command>patch</command>
  20.601  	removes the first and last lines of the context, and tries a
  20.602  	<emphasis>reduced</emphasis> context-only match.  If the hunk
  20.603  	with reduced context succeeds, it prints a message saying that
  20.604 @@ -609,7 +608,7 @@
  20.605  	context <command>patch</command> had to trim before the patch
  20.606  	applied).</para>
  20.607  
  20.608 -      <para>When neither of these techniques works,
  20.609 +      <para id="x_3ef">When neither of these techniques works,
  20.610  	<command>patch</command> prints a message saying that the hunk
  20.611  	in question was rejected.  It saves rejected hunks (also
  20.612  	simply called <quote>rejects</quote>) to a file with the same
  20.613 @@ -629,36 +628,36 @@
  20.614      <sect2>
  20.615        <title>Some quirks of patch representation</title>
  20.616  
  20.617 -      <para>There are a few useful things to know about how
  20.618 +      <para id="x_3f0">There are a few useful things to know about how
  20.619  	<command>patch</command> works with files.</para>
  20.620        <itemizedlist>
  20.621 -	<listitem><para>This should already be obvious, but
  20.622 +	<listitem><para id="x_3f1">This should already be obvious, but
  20.623  	    <command>patch</command> cannot handle binary
  20.624  	    files.</para>
  20.625  	</listitem>
  20.626 -	<listitem><para>Neither does it care about the executable bit;
  20.627 +	<listitem><para id="x_3f2">Neither does it care about the executable bit;
  20.628  	    it creates new files as readable, but not
  20.629  	    executable.</para>
  20.630  	</listitem>
  20.631 -	<listitem><para><command>patch</command> treats the removal of
  20.632 +	<listitem><para id="x_3f3"><command>patch</command> treats the removal of
  20.633  	    a file as a diff between the file to be removed and the
  20.634  	    empty file.  So your idea of <quote>I deleted this
  20.635  	      file</quote> looks like <quote>every line of this file
  20.636  	      was deleted</quote> in a patch.</para>
  20.637  	</listitem>
  20.638 -	<listitem><para>It treats the addition of a file as a diff
  20.639 +	<listitem><para id="x_3f4">It treats the addition of a file as a diff
  20.640  	    between the empty file and the file to be added.  So in a
  20.641  	    patch, your idea of <quote>I added this file</quote> looks
  20.642  	    like <quote>every line of this file was
  20.643  	      added</quote>.</para>
  20.644  	</listitem>
  20.645 -	<listitem><para>It treats a renamed file as the removal of the
  20.646 +	<listitem><para id="x_3f5">It treats a renamed file as the removal of the
  20.647  	    old name, and the addition of the new name.  This means
  20.648  	    that renamed files have a big footprint in patches.  (Note
  20.649  	    also that Mercurial does not currently try to infer when
  20.650  	    files have been renamed or copied in a patch.)</para>
  20.651  	</listitem>
  20.652 -	<listitem><para><command>patch</command> cannot represent
  20.653 +	<listitem><para id="x_3f6"><command>patch</command> cannot represent
  20.654  	    empty files, so you cannot use a patch to represent the
  20.655  	    notion <quote>I added this empty file to the
  20.656  	      tree</quote>.</para>
  20.657 @@ -667,7 +666,7 @@
  20.658      <sect2>
  20.659        <title>Beware the fuzz</title>
  20.660  
  20.661 -      <para>While applying a hunk at an offset, or with a fuzz factor,
  20.662 +      <para id="x_3f7">While applying a hunk at an offset, or with a fuzz factor,
  20.663  	will often be completely successful, these inexact techniques
  20.664  	naturally leave open the possibility of corrupting the patched
  20.665  	file.  The most common cases typically involve applying a
  20.666 @@ -677,7 +676,7 @@
  20.667  	fuzz factor, you should make sure that the modified files are
  20.668  	correct afterwards.</para>
  20.669  
  20.670 -      <para>It's often a good idea to refresh a patch that has applied
  20.671 +      <para id="x_3f8">It's often a good idea to refresh a patch that has applied
  20.672  	with an offset or fuzz factor; refreshing the patch generates
  20.673  	new context information that will make it apply cleanly.  I
  20.674  	say <quote>often,</quote> not <quote>always,</quote> because
  20.675 @@ -692,30 +691,29 @@
  20.676      <sect2>
  20.677        <title>Handling rejection</title>
  20.678  
  20.679 -      <para>If <command role="hg-ext-mq">qpush</command> fails to
  20.680 +      <para id="x_3f9">If <command role="hg-ext-mq">qpush</command> fails to
  20.681  	apply a patch, it will print an error message and exit.  If it
  20.682  	has left <filename role="special">.rej</filename> files
  20.683  	behind, it is usually best to fix up the rejected hunks before
  20.684  	you push more patches or do any further work.</para>
  20.685  
  20.686 -      <para>If your patch <emphasis>used to</emphasis> apply cleanly,
  20.687 +      <para id="x_3fa">If your patch <emphasis>used to</emphasis> apply cleanly,
  20.688  	and no longer does because you've changed the underlying code
  20.689  	that your patches are based on, Mercurial Queues can help; see
  20.690 -	section <xref
  20.691 -	  linkend="sec.mq.merge"/> for details.</para>
  20.692 -
  20.693 -      <para>Unfortunately, there aren't any great techniques for
  20.694 +	<xref linkend="sec:mq:merge"/> for details.</para>
  20.695 +
  20.696 +      <para id="x_3fb">Unfortunately, there aren't any great techniques for
  20.697  	dealing with rejected hunks.  Most often, you'll need to view
  20.698  	the <filename role="special">.rej</filename> file and edit the
  20.699  	target file, applying the rejected hunks by hand.</para>
  20.700  
  20.701 -      <para>If you're feeling adventurous, Neil Brown, a Linux kernel
  20.702 +      <para id="x_3fc">If you're feeling adventurous, Neil Brown, a Linux kernel
  20.703  	hacker, wrote a tool called <command>wiggle</command>
  20.704  	<citation>web:wiggle</citation>, which is more vigorous than
  20.705  	<command>patch</command> in its attempts to make a patch
  20.706  	apply.</para>
  20.707  
  20.708 -      <para>Another Linux kernel hacker, Chris Mason (the author of
  20.709 +      <para id="x_3fd">Another Linux kernel hacker, Chris Mason (the author of
  20.710  	Mercurial Queues), wrote a similar tool called
  20.711  	<command>mpatch</command> <citation>web:mpatch</citation>,
  20.712  	which takes a simple approach to automating the application of
  20.713 @@ -724,21 +722,21 @@
  20.714  	reasons that a hunk may be rejected:</para>
  20.715  
  20.716        <itemizedlist>
  20.717 -	<listitem><para>The context in the middle of a hunk has
  20.718 +	<listitem><para id="x_3fe">The context in the middle of a hunk has
  20.719  	    changed.</para>
  20.720  	</listitem>
  20.721 -	<listitem><para>A hunk is missing some context at the
  20.722 +	<listitem><para id="x_3ff">A hunk is missing some context at the
  20.723  	    beginning or end.</para>
  20.724  	</listitem>
  20.725 -	<listitem><para>A large hunk might apply better&emdash;either
  20.726 +	<listitem><para id="x_400">A large hunk might apply better&emdash;either
  20.727  	    entirely or in part&emdash;if it was broken up into
  20.728  	    smaller hunks.</para>
  20.729  	</listitem>
  20.730 -	<listitem><para>A hunk removes lines with slightly different
  20.731 +	<listitem><para id="x_401">A hunk removes lines with slightly different
  20.732  	    content than those currently present in the file.</para>
  20.733  	</listitem></itemizedlist>
  20.734  
  20.735 -      <para>If you use <command>wiggle</command> or
  20.736 +      <para id="x_402">If you use <command>wiggle</command> or
  20.737  	<command>mpatch</command>, you should be doubly careful to
  20.738  	check your results when you're done.  In fact,
  20.739  	<command>mpatch</command> enforces this method of
  20.740 @@ -749,10 +747,10 @@
  20.741  
  20.742      </sect2>
  20.743    </sect1>
  20.744 -  <sect1 id="sec.mq.perf">
  20.745 +  <sect1 id="sec:mq:perf">
  20.746      <title>Getting the best performance out of MQ</title>
  20.747  
  20.748 -    <para>MQ is very efficient at handling a large number of patches.
  20.749 +    <para id="x_403">MQ is very efficient at handling a large number of patches.
  20.750        I ran some performance experiments in mid-2006 for a talk that I
  20.751        gave at the 2006 EuroPython conference
  20.752        <citation>web:europython</citation>.  I used as my data set the
  20.753 @@ -761,7 +759,7 @@
  20.754        all 27,472 revisions between Linux 2.6.12-rc2 and Linux
  20.755        2.6.17.</para>
  20.756  
  20.757 -    <para>On my old, slow laptop, I was able to <command
  20.758 +    <para id="x_404">On my old, slow laptop, I was able to <command
  20.759  	role="hg-cmd">hg qpush <option
  20.760  	  role="hg-ext-mq-cmd-qpush-opt">hg -a</option></command> all
  20.761        1,738 patches in 3.5 minutes, and <command role="hg-cmd">hg qpop
  20.762 @@ -772,11 +770,11 @@
  20.763        (which made 22,779 lines of changes to 287 files) in 6.6
  20.764        seconds.</para>
  20.765  
  20.766 -    <para>Clearly, MQ is well suited to working in large trees, but
  20.767 +    <para id="x_405">Clearly, MQ is well suited to working in large trees, but
  20.768        there are a few tricks you can use to get the best performance
  20.769        of it.</para>
  20.770  
  20.771 -    <para>First of all, try to <quote>batch</quote> operations
  20.772 +    <para id="x_406">First of all, try to <quote>batch</quote> operations
  20.773        together.  Every time you run <command
  20.774  	role="hg-ext-mq">qpush</command> or <command
  20.775  	role="hg-ext-mq">qpop</command>, these commands scan the
  20.776 @@ -787,7 +785,7 @@
  20.777        medium-sized tree (containing tens of thousands of files), it
  20.778        can take a second or more.</para>
  20.779  
  20.780 -    <para>The <command role="hg-ext-mq">qpush</command> and <command
  20.781 +    <para id="x_407">The <command role="hg-ext-mq">qpush</command> and <command
  20.782  	role="hg-ext-mq">qpop</command> commands allow you to push and
  20.783        pop multiple patches at a time.  You can identify the
  20.784        <quote>destination patch</quote> that you want to end up at.
  20.785 @@ -797,17 +795,17 @@
  20.786  	role="hg-ext-mq">qpop</command> to a destination, MQ will pop
  20.787        patches until the destination patch is at the top.</para>
  20.788  
  20.789 -    <para>You can identify a destination patch using either the name
  20.790 +    <para id="x_408">You can identify a destination patch using either the name
  20.791        of the patch, or by number.  If you use numeric addressing,
  20.792        patches are counted from zero; this means that the first patch
  20.793        is zero, the second is one, and so on.</para>
  20.794  
  20.795    </sect1>
  20.796 -  <sect1 id="sec.mq.merge">
  20.797 +  <sect1 id="sec:mq:merge">
  20.798      <title>Updating your patches when the underlying code
  20.799        changes</title>
  20.800  
  20.801 -    <para>It's common to have a stack of patches on top of an
  20.802 +    <para id="x_409">It's common to have a stack of patches on top of an
  20.803        underlying repository that you don't modify directly.  If you're
  20.804        working on changes to third-party code, or on a feature that is
  20.805        taking longer to develop than the rate of change of the code
  20.806 @@ -816,7 +814,7 @@
  20.807        This is called <emphasis>rebasing</emphasis> your patch
  20.808        series.</para>
  20.809  
  20.810 -    <para>The simplest way to do this is to <command role="hg-cmd">hg
  20.811 +    <para id="x_40a">The simplest way to do this is to <command role="hg-cmd">hg
  20.812  	qpop <option role="hg-ext-mq-cmd-qpop-opt">hg
  20.813  	  -a</option></command> your patches, then <command
  20.814  	role="hg-cmd">hg pull</command> changes into the underlying
  20.815 @@ -828,26 +826,26 @@
  20.816        affected patch, and continue pushing until you have fixed your
  20.817        entire stack.</para>
  20.818  
  20.819 -    <para>This approach is easy to use and works well if you don't
  20.820 +    <para id="x_40b">This approach is easy to use and works well if you don't
  20.821        expect changes to the underlying code to affect how well your
  20.822        patches apply. If your patch stack touches code that is modified
  20.823        frequently or invasively in the underlying repository, however,
  20.824        fixing up rejected hunks by hand quickly becomes
  20.825        tiresome.</para>
  20.826  
  20.827 -    <para>It's possible to partially automate the rebasing process.
  20.828 +    <para id="x_40c">It's possible to partially automate the rebasing process.
  20.829        If your patches apply cleanly against some revision of the
  20.830        underlying repo, MQ can use this information to help you to
  20.831        resolve conflicts between your patches and a different
  20.832        revision.</para>
  20.833  
  20.834 -    <para>The process is a little involved.</para>
  20.835 +    <para id="x_40d">The process is a little involved.</para>
  20.836      <orderedlist>
  20.837 -      <listitem><para>To begin, <command role="hg-cmd">hg qpush
  20.838 +      <listitem><para id="x_40e">To begin, <command role="hg-cmd">hg qpush
  20.839  	    -a</command> all of your patches on top of the revision
  20.840  	  where you know that they apply cleanly.</para>
  20.841        </listitem>
  20.842 -      <listitem><para>Save a backup copy of your patch directory using
  20.843 +      <listitem><para id="x_40f">Save a backup copy of your patch directory using
  20.844  	  <command role="hg-cmd">hg qsave <option
  20.845  	      role="hg-ext-mq-cmd-qsave-opt">hg -e</option> <option
  20.846  	      role="hg-ext-mq-cmd-qsave-opt">hg -c</option></command>.
  20.847 @@ -861,17 +859,17 @@
  20.848  	  states of the <filename role="special">series</filename> and
  20.849  	  <filename role="special">status</filename> files.</para>
  20.850        </listitem>
  20.851 -      <listitem><para>Use <command role="hg-cmd">hg pull</command> to
  20.852 +      <listitem><para id="x_410">Use <command role="hg-cmd">hg pull</command> to
  20.853  	  bring new changes into the underlying repository.  (Don't
  20.854  	  run <command role="hg-cmd">hg pull -u</command>; see below
  20.855  	  for why.)</para>
  20.856        </listitem>
  20.857 -      <listitem><para>Update to the new tip revision, using <command
  20.858 +      <listitem><para id="x_411">Update to the new tip revision, using <command
  20.859  	    role="hg-cmd">hg update <option
  20.860  	      role="hg-opt-update">-C</option></command> to override
  20.861  	  the patches you have pushed.</para>
  20.862        </listitem>
  20.863 -      <listitem><para>Merge all patches using <command>hg qpush -m
  20.864 +      <listitem><para id="x_412">Merge all patches using <command>hg qpush -m
  20.865  	    -a</command>.  The <option
  20.866  	    role="hg-ext-mq-cmd-qpush-opt">-m</option> option to
  20.867  	  <command role="hg-ext-mq">qpush</command> tells MQ to
  20.868 @@ -879,7 +877,7 @@
  20.869  	  apply.</para>
  20.870        </listitem></orderedlist>
  20.871  
  20.872 -    <para>During the <command role="hg-cmd">hg qpush <option
  20.873 +    <para id="x_413">During the <command role="hg-cmd">hg qpush <option
  20.874  	  role="hg-ext-mq-cmd-qpush-opt">hg -m</option></command>,
  20.875        each patch in the <filename role="special">series</filename>
  20.876        file is applied normally.  If a patch applies with fuzz or
  20.877 @@ -889,10 +887,10 @@
  20.878        Mercurial's normal merge machinery, so it may pop up a GUI merge
  20.879        tool to help you to resolve problems.</para>
  20.880  
  20.881 -    <para>When you finish resolving the effects of a patch, MQ
  20.882 +    <para id="x_414">When you finish resolving the effects of a patch, MQ
  20.883        refreshes your patch based on the result of the merge.</para>
  20.884  
  20.885 -    <para>At the end of this process, your repository will have one
  20.886 +    <para id="x_415">At the end of this process, your repository will have one
  20.887        extra head from the old patch queue, and a copy of the old patch
  20.888        queue will be in <filename role="special"
  20.889  	class="directory">.hg/patches.N</filename>. You can remove the
  20.890 @@ -906,26 +904,26 @@
  20.891    <sect1>
  20.892      <title>Identifying patches</title>
  20.893  
  20.894 -    <para>MQ commands that work with patches let you refer to a patch
  20.895 +    <para id="x_416">MQ commands that work with patches let you refer to a patch
  20.896        either by using its name or by a number.  By name is obvious
  20.897        enough; pass the name <filename>foo.patch</filename> to <command
  20.898  	role="hg-ext-mq">qpush</command>, for example, and it will
  20.899        push patches until <filename>foo.patch</filename> is
  20.900        applied.</para>
  20.901  
  20.902 -    <para>As a shortcut, you can refer to a patch using both a name
  20.903 +    <para id="x_417">As a shortcut, you can refer to a patch using both a name
  20.904        and a numeric offset; <literal>foo.patch-2</literal> means
  20.905        <quote>two patches before <literal>foo.patch</literal></quote>,
  20.906        while <literal>bar.patch+4</literal> means <quote>four patches
  20.907  	after <literal>bar.patch</literal></quote>.</para>
  20.908  
  20.909 -    <para>Referring to a patch by index isn't much different.  The
  20.910 +    <para id="x_418">Referring to a patch by index isn't much different.  The
  20.911        first patch printed in the output of <command
  20.912  	role="hg-ext-mq">qseries</command> is patch zero (yes, it's
  20.913        one of those start-at-zero counting systems); the second is
  20.914        patch one; and so on.</para>
  20.915  
  20.916 -    <para>MQ also makes it easy to work with patches when you are
  20.917 +    <para id="x_419">MQ also makes it easy to work with patches when you are
  20.918        using normal Mercurial commands.  Every command that accepts a
  20.919        changeset ID will also accept the name of an applied patch.  MQ
  20.920        augments the tags normally in the repository with an eponymous
  20.921 @@ -935,28 +933,28 @@
  20.922        the <quote>bottom-most</quote> and topmost applied patches,
  20.923        respectively.</para>
  20.924  
  20.925 -    <para>These additions to Mercurial's normal tagging capabilities
  20.926 +    <para id="x_41a">These additions to Mercurial's normal tagging capabilities
  20.927        make dealing with patches even more of a breeze.</para>
  20.928      <itemizedlist>
  20.929 -      <listitem><para>Want to patchbomb a mailing list with your
  20.930 +      <listitem><para id="x_41b">Want to patchbomb a mailing list with your
  20.931  	  latest series of changes?</para>
  20.932  	<programlisting>hg email qbase:qtip</programlisting>
  20.933 -	<para>  (Don't know what <quote>patchbombing</quote> is?  See
  20.934 -	  section <xref linkend="sec.hgext.patchbomb"/>.)</para>
  20.935 +	<para id="x_41c">  (Don't know what <quote>patchbombing</quote> is?  See
  20.936 +	  <xref linkend="sec:hgext:patchbomb"/>.)</para>
  20.937        </listitem>
  20.938 -      <listitem><para>Need to see all of the patches since
  20.939 +      <listitem><para id="x_41d">Need to see all of the patches since
  20.940  	  <literal>foo.patch</literal> that have touched files in a
  20.941  	  subdirectory of your tree?</para>
  20.942  	<programlisting>hg log -r foo.patch:qtip subdir</programlisting>
  20.943        </listitem>
  20.944      </itemizedlist>
  20.945  
  20.946 -    <para>Because MQ makes the names of patches available to the rest
  20.947 +    <para id="x_41e">Because MQ makes the names of patches available to the rest
  20.948        of Mercurial through its normal internal tag machinery, you
  20.949        don't need to type in the entire name of a patch when you want
  20.950        to identify it by name.</para>
  20.951  
  20.952 -    <para>Another nice consequence of representing patch names as tags
  20.953 +    <para id="x_41f">Another nice consequence of representing patch names as tags
  20.954        is that when you run the <command role="hg-cmd">hg log</command>
  20.955        command, it will display a patch's name as a tag, simply as part
  20.956        of its normal output.  This makes it easy to visually
  20.957 @@ -971,21 +969,21 @@
  20.958    <sect1>
  20.959      <title>Useful things to know about</title>
  20.960  
  20.961 -    <para>There are a number of aspects of MQ usage that don't fit
  20.962 +    <para id="x_420">There are a number of aspects of MQ usage that don't fit
  20.963        tidily into sections of their own, but that are good to know.
  20.964        Here they are, in one place.</para>
  20.965  
  20.966      <itemizedlist>
  20.967 -      <listitem><para>Normally, when you <command
  20.968 +      <listitem><para id="x_421">Normally, when you <command
  20.969  	    role="hg-ext-mq">qpop</command> a patch and <command
  20.970  	    role="hg-ext-mq">qpush</command> it again, the changeset
  20.971  	  that represents the patch after the pop/push will have a
  20.972  	  <emphasis>different identity</emphasis> than the changeset
  20.973 -	  that represented the hash beforehand.  See section <xref
  20.974 -	    linkend="sec.mqref.cmd.qpush"/> for
  20.975 +	  that represented the hash beforehand.  See <xref
  20.976 +	    linkend="sec:mqref:cmd:qpush"/> for
  20.977  	  information as to why this is.</para>
  20.978        </listitem>
  20.979 -      <listitem><para>It's not a good idea to <command
  20.980 +      <listitem><para id="x_422">It's not a good idea to <command
  20.981  	    role="hg-cmd">hg merge</command> changes from another
  20.982  	  branch with a patch changeset, at least if you want to
  20.983  	  maintain the <quote>patchiness</quote> of that changeset and
  20.984 @@ -995,16 +993,16 @@
  20.985        </listitem></itemizedlist>
  20.986  
  20.987    </sect1>
  20.988 -  <sect1 id="sec.mq.repo">
  20.989 +  <sect1 id="sec:mq:repo">
  20.990      <title>Managing patches in a repository</title>
  20.991  
  20.992 -    <para>Because MQ's <filename role="special"
  20.993 +    <para id="x_423">Because MQ's <filename role="special"
  20.994  	class="directory">.hg/patches</filename> directory resides
  20.995        outside a Mercurial repository's working directory, the
  20.996        <quote>underlying</quote> Mercurial repository knows nothing
  20.997        about the management or presence of patches.</para>
  20.998  
  20.999 -    <para>This presents the interesting possibility of managing the
 20.1000 +    <para id="x_424">This presents the interesting possibility of managing the
 20.1001        contents of the patch directory as a Mercurial repository in its
 20.1002        own right.  This can be a useful way to work.  For example, you
 20.1003        can work on a patch for a while, <command
 20.1004 @@ -1013,7 +1011,7 @@
 20.1005        patch.  This lets you <quote>roll back</quote> to that version
 20.1006        of the patch later on.</para>
 20.1007  
 20.1008 -    <para>You can then share different versions of the same patch
 20.1009 +    <para id="x_425">You can then share different versions of the same patch
 20.1010        stack among multiple underlying repositories.  I use this when I
 20.1011        am developing a Linux kernel feature.  I have a pristine copy of
 20.1012        my kernel sources for each of several CPU architectures, and a
 20.1013 @@ -1023,7 +1021,7 @@
 20.1014        associated with that kernel tree, pop and push all of my
 20.1015        patches, and build and test that kernel.</para>
 20.1016  
 20.1017 -    <para>Managing patches in a repository makes it possible for
 20.1018 +    <para id="x_426">Managing patches in a repository makes it possible for
 20.1019        multiple developers to work on the same patch series without
 20.1020        colliding with each other, all on top of an underlying source
 20.1021        base that they may or may not control.</para>
 20.1022 @@ -1031,7 +1029,7 @@
 20.1023      <sect2>
 20.1024        <title>MQ support for patch repositories</title>
 20.1025  
 20.1026 -      <para>MQ helps you to work with the <filename role="special"
 20.1027 +      <para id="x_427">MQ helps you to work with the <filename role="special"
 20.1028  	  class="directory">.hg/patches</filename> directory as a
 20.1029  	repository; when you prepare a repository for working with
 20.1030  	patches using <command role="hg-ext-mq">qinit</command>, you
 20.1031 @@ -1041,7 +1039,7 @@
 20.1032  	Mercurial repository.</para>
 20.1033  
 20.1034        <note>
 20.1035 -	<para>  If you forget to use the <option
 20.1036 +	<para id="x_428">  If you forget to use the <option
 20.1037  	    role="hg-ext-mq-cmd-qinit-opt">hg -c</option> option, you
 20.1038  	  can simply go into the <filename role="special"
 20.1039  	    class="directory">.hg/patches</filename> directory at any
 20.1040 @@ -1050,25 +1048,25 @@
 20.1041  	    role="special">status</filename> file to the <filename
 20.1042  	    role="special">.hgignore</filename> file, though</para>
 20.1043  
 20.1044 -	<para>  (<command role="hg-cmd">hg qinit <option
 20.1045 +	<para id="x_429">  (<command role="hg-cmd">hg qinit <option
 20.1046  	      role="hg-ext-mq-cmd-qinit-opt">hg -c</option></command>
 20.1047  	  does this for you automatically); you
 20.1048  	  <emphasis>really</emphasis> don't want to manage the
 20.1049  	  <filename role="special">status</filename> file.</para>
 20.1050        </note>
 20.1051  
 20.1052 -      <para>As a convenience, if MQ notices that the <filename
 20.1053 +      <para id="x_42a">As a convenience, if MQ notices that the <filename
 20.1054  	  class="directory">.hg/patches</filename> directory is a
 20.1055  	repository, it will automatically <command role="hg-cmd">hg
 20.1056  	  add</command> every patch that you create and import.</para>
 20.1057  
 20.1058 -      <para>MQ provides a shortcut command, <command
 20.1059 +      <para id="x_42b">MQ provides a shortcut command, <command
 20.1060  	  role="hg-ext-mq">qcommit</command>, that runs <command
 20.1061  	  role="hg-cmd">hg commit</command> in the <filename
 20.1062  	  role="special" class="directory">.hg/patches</filename>
 20.1063  	directory.  This saves some bothersome typing.</para>
 20.1064  
 20.1065 -      <para>Finally, as a convenience to manage the patch directory,
 20.1066 +      <para id="x_42c">Finally, as a convenience to manage the patch directory,
 20.1067  	you can define the alias <command>mq</command> on Unix
 20.1068  	systems. For example, on Linux systems using the
 20.1069  	<command>bash</command> shell, you can include the following
 20.1070 @@ -1077,17 +1075,17 @@
 20.1071  
 20.1072        <programlisting>alias mq=`hg -R $(hg root)/.hg/patches'</programlisting>
 20.1073  
 20.1074 -      <para>You can then issue commands of the form <command>mq
 20.1075 +      <para id="x_42d">You can then issue commands of the form <command>mq
 20.1076  	  pull</command> from the main repository.</para>
 20.1077  
 20.1078      </sect2>
 20.1079      <sect2>
 20.1080        <title>A few things to watch out for</title>
 20.1081  
 20.1082 -      <para>MQ's support for working with a repository full of patches
 20.1083 +      <para id="x_42e">MQ's support for working with a repository full of patches
 20.1084  	is limited in a few small respects.</para>
 20.1085  
 20.1086 -      <para>MQ cannot automatically detect changes that you make to
 20.1087 +      <para id="x_42f">MQ cannot automatically detect changes that you make to
 20.1088  	the patch directory.  If you <command role="hg-cmd">hg
 20.1089  	  pull</command>, manually edit, or <command role="hg-cmd">hg
 20.1090  	  update</command> changes to patches or the <filename
 20.1091 @@ -1102,14 +1100,14 @@
 20.1092  
 20.1093      </sect2>
 20.1094    </sect1>
 20.1095 -  <sect1 id="sec.mq.tools">
 20.1096 +  <sect1 id="sec:mq:tools">
 20.1097      <title>Third party tools for working with patches</title>
 20.1098  
 20.1099 -    <para>Once you've been working with patches for a while, you'll
 20.1100 +    <para id="x_430">Once you've been working with patches for a while, you'll
 20.1101        find yourself hungry for tools that will help you to understand
 20.1102        and manipulate the patches you're dealing with.</para>
 20.1103  
 20.1104 -    <para>The <command>diffstat</command> command
 20.1105 +    <para id="x_431">The <command>diffstat</command> command
 20.1106        <citation>web:diffstat</citation> generates a histogram of the
 20.1107        modifications made to each file in a patch.  It provides a good
 20.1108        way to <quote>get a sense of</quote> a patch&emdash;which files
 20.1109 @@ -1123,7 +1121,7 @@
 20.1110  
 20.1111  &interaction.mq.tools.tools;
 20.1112  
 20.1113 -    <para>The <literal role="package">patchutils</literal> package
 20.1114 +    <para id="x_432">The <literal role="package">patchutils</literal> package
 20.1115        <citation>web:patchutils</citation> is invaluable. It provides a
 20.1116        set of small utilities that follow the <quote>Unix
 20.1117  	philosophy;</quote> each does one useful thing with a patch.
 20.1118 @@ -1133,21 +1131,21 @@
 20.1119        hundreds of files across dozens of directories, a single
 20.1120        invocation of <command>filterdiff</command> can generate a
 20.1121        smaller patch that only touches files whose names match a
 20.1122 -      particular glob pattern.  See section <xref
 20.1123 -	linkend="mq-collab.tips.interdiff"/> for another
 20.1124 +      particular glob pattern.  See <xref
 20.1125 +	linkend="mq-collab:tips:interdiff"/> for another
 20.1126        example.</para>
 20.1127  
 20.1128    </sect1>
 20.1129    <sect1>
 20.1130      <title>Good ways to work with patches</title>
 20.1131  
 20.1132 -    <para>Whether you are working on a patch series to submit to a
 20.1133 +    <para id="x_433">Whether you are working on a patch series to submit to a
 20.1134        free software or open source project, or a series that you
 20.1135        intend to treat as a sequence of regular changesets when you're
 20.1136        done, you can use some simple techniques to keep your work well
 20.1137        organised.</para>
 20.1138  
 20.1139 -    <para>Give your patches descriptive names.  A good name for a
 20.1140 +    <para id="x_434">Give your patches descriptive names.  A good name for a
 20.1141        patch might be <filename>rework-device-alloc.patch</filename>,
 20.1142        because it will immediately give you a hint what the purpose of
 20.1143        the patch is.  Long names shouldn't be a problem; you won't be
 20.1144 @@ -1159,7 +1157,7 @@
 20.1145        to work with, or if you are juggling a number of different tasks
 20.1146        and your patches only get a fraction of your attention.</para>
 20.1147  
 20.1148 -    <para>Be aware of what patch you're working on.  Use the <command
 20.1149 +    <para id="x_435">Be aware of what patch you're working on.  Use the <command
 20.1150  	role="hg-ext-mq">qtop</command> command and skim over the text
 20.1151        of your patches frequently&emdash;for example, using <command
 20.1152  	role="hg-cmd">hg tip <option
 20.1153 @@ -1169,9 +1167,9 @@
 20.1154        one I intended, and it's often tricky to migrate changes into
 20.1155        the right patch after making them in the wrong one.</para>
 20.1156  
 20.1157 -    <para>For this reason, it is very much worth investing a little
 20.1158 +    <para id="x_436">For this reason, it is very much worth investing a little
 20.1159        time to learn how to use some of the third-party tools I
 20.1160 -      described in section <xref linkend="sec.mq.tools"/>,
 20.1161 +      described in <xref linkend="sec:mq:tools"/>,
 20.1162        particularly
 20.1163        <command>diffstat</command> and <command>filterdiff</command>.
 20.1164        The former will give you a quick idea of what changes your patch
 20.1165 @@ -1185,28 +1183,28 @@
 20.1166      <sect2>
 20.1167        <title>Manage <quote>trivial</quote> patches</title>
 20.1168  
 20.1169 -      <para>Because the overhead of dropping files into a new
 20.1170 +      <para id="x_437">Because the overhead of dropping files into a new
 20.1171  	Mercurial repository is so low, it makes a lot of sense to
 20.1172  	manage patches this way even if you simply want to make a few
 20.1173  	changes to a source tarball that you downloaded.</para>
 20.1174  
 20.1175 -      <para>Begin by downloading and unpacking the source tarball, and
 20.1176 +      <para id="x_438">Begin by downloading and unpacking the source tarball, and
 20.1177  	turning it into a Mercurial repository.</para>
 20.1178  
 20.1179        &interaction.mq.tarball.download;
 20.1180  
 20.1181 -      <para>Continue by creating a patch stack and making your
 20.1182 +      <para id="x_439">Continue by creating a patch stack and making your
 20.1183  	changes.</para>
 20.1184  
 20.1185        &interaction.mq.tarball.qinit;
 20.1186  
 20.1187 -      <para>Let's say a few weeks or months pass, and your package
 20.1188 +      <para id="x_43a">Let's say a few weeks or months pass, and your package
 20.1189  	author releases a new version.  First, bring their changes
 20.1190  	into the repository.</para>
 20.1191  
 20.1192        &interaction.mq.tarball.newsource;
 20.1193  
 20.1194 -      <para>The pipeline starting with <command role="hg-cmd">hg
 20.1195 +      <para id="x_43b">The pipeline starting with <command role="hg-cmd">hg
 20.1196  	  locate</command> above deletes all files in the working
 20.1197  	directory, so that <command role="hg-cmd">hg
 20.1198  	  commit</command>'s <option
 20.1199 @@ -1214,16 +1212,16 @@
 20.1200  	actually tell which files have really been removed in the
 20.1201  	newer version of the source.</para>
 20.1202  
 20.1203 -      <para>Finally, you can apply your patches on top of the new
 20.1204 +      <para id="x_43c">Finally, you can apply your patches on top of the new
 20.1205  	tree.</para>
 20.1206  
 20.1207        &interaction.mq.tarball.repush;
 20.1208  
 20.1209      </sect2>
 20.1210 -    <sect2 id="sec.mq.combine">
 20.1211 +    <sect2 id="sec:mq:combine">
 20.1212        <title>Combining entire patches</title>
 20.1213  
 20.1214 -      <para>MQ provides a command, <command
 20.1215 +      <para id="x_43d">MQ provides a command, <command
 20.1216  	  role="hg-ext-mq">qfold</command> that lets you combine
 20.1217  	entire patches.  This <quote>folds</quote> the patches you
 20.1218  	name, in the order you name them, into the topmost applied
 20.1219 @@ -1231,7 +1229,7 @@
 20.1220  	description.  The patches that you fold must be unapplied
 20.1221  	before you fold them.</para>
 20.1222  
 20.1223 -      <para>The order in which you fold patches matters.  If your
 20.1224 +      <para id="x_43e">The order in which you fold patches matters.  If your
 20.1225  	topmost applied patch is <literal>foo</literal>, and you
 20.1226  	<command role="hg-ext-mq">qfold</command>
 20.1227  	<literal>bar</literal> and <literal>quux</literal> into it,
 20.1228 @@ -1244,11 +1242,11 @@
 20.1229      <sect2>
 20.1230        <title>Merging part of one patch into another</title>
 20.1231  
 20.1232 -      <para>Merging <emphasis>part</emphasis> of one patch into
 20.1233 +      <para id="x_43f">Merging <emphasis>part</emphasis> of one patch into
 20.1234  	another is more difficult than combining entire
 20.1235  	patches.</para>
 20.1236  
 20.1237 -      <para>If you want to move changes to entire files, you can use
 20.1238 +      <para id="x_440">If you want to move changes to entire files, you can use
 20.1239  	<command>filterdiff</command>'s <option
 20.1240  	  role="cmd-opt-filterdiff">-i</option> and <option
 20.1241  	  role="cmd-opt-filterdiff">-x</option> options to choose the
 20.1242 @@ -1261,7 +1259,7 @@
 20.1243  	<command role="hg-ext-mq">qrefresh</command> the patch to drop
 20.1244  	the duplicate hunks.</para>
 20.1245  
 20.1246 -      <para>If you have a patch that has multiple hunks modifying a
 20.1247 +      <para id="x_441">If you have a patch that has multiple hunks modifying a
 20.1248  	file, and you only want to move a few of those hunks, the job
 20.1249  	becomes more messy, but you can still partly automate it.  Use
 20.1250  	<command>lsdiff -nvv</command> to print some metadata about
 20.1251 @@ -1269,21 +1267,21 @@
 20.1252  
 20.1253        &interaction.mq.tools.lsdiff;
 20.1254  
 20.1255 -      <para>This command prints three different kinds of
 20.1256 +      <para id="x_442">This command prints three different kinds of
 20.1257  	number:</para>
 20.1258        <itemizedlist>
 20.1259 -	<listitem><para>(in the first column) a <emphasis>file
 20.1260 +	<listitem><para id="x_443">(in the first column) a <emphasis>file
 20.1261  	      number</emphasis> to identify each file modified in the
 20.1262  	    patch;</para>
 20.1263  	</listitem>
 20.1264 -	<listitem><para>(on the next line, indented) the line number
 20.1265 +	<listitem><para id="x_444">(on the next line, indented) the line number
 20.1266  	    within a modified file where a hunk starts; and</para>
 20.1267  	</listitem>
 20.1268 -	<listitem><para>(on the same line) a <emphasis>hunk
 20.1269 +	<listitem><para id="x_445">(on the same line) a <emphasis>hunk
 20.1270  	      number</emphasis> to identify that hunk.</para>
 20.1271  	</listitem></itemizedlist>
 20.1272  
 20.1273 -      <para>You'll have to use some visual inspection, and reading of
 20.1274 +      <para id="x_446">You'll have to use some visual inspection, and reading of
 20.1275  	the patch, to identify the file and hunk numbers you'll want,
 20.1276  	but you can then pass them to to
 20.1277  	<command>filterdiff</command>'s <option
 20.1278 @@ -1291,20 +1289,20 @@
 20.1279  	  role="cmd-opt-filterdiff">--hunks</option> options, to
 20.1280  	select exactly the file and hunk you want to extract.</para>
 20.1281  
 20.1282 -      <para>Once you have this hunk, you can concatenate it onto the
 20.1283 +      <para id="x_447">Once you have this hunk, you can concatenate it onto the
 20.1284  	end of your destination patch and continue with the remainder
 20.1285 -	of section <xref linkend="sec.mq.combine"/>.</para>
 20.1286 +	of <xref linkend="sec:mq:combine"/>.</para>
 20.1287  
 20.1288      </sect2>
 20.1289    </sect1>
 20.1290    <sect1>
 20.1291      <title>Differences between quilt and MQ</title>
 20.1292  
 20.1293 -    <para>If you are already familiar with quilt, MQ provides a
 20.1294 +    <para id="x_448">If you are already familiar with quilt, MQ provides a
 20.1295        similar command set.  There are a few differences in the way
 20.1296        that it works.</para>
 20.1297  
 20.1298 -    <para>You will already have noticed that most quilt commands have
 20.1299 +    <para id="x_449">You will already have noticed that most quilt commands have
 20.1300        MQ counterparts that simply begin with a
 20.1301        <quote><literal>q</literal></quote>.  The exceptions are quilt's
 20.1302        <literal>add</literal> and <literal>remove</literal> commands,
    21.1 --- a/en/ch12-mq-collab.xml	Fri Mar 20 17:17:55 2009 +0800
    21.2 +++ b/en/ch12-mq-collab.xml	Mon Mar 30 16:23:33 2009 +0800
    21.3 @@ -1,6 +1,6 @@
    21.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    21.5  
    21.6 -<chapter id="chap.mq-collab">
    21.7 +<chapter id="chap:mq-collab">
    21.8    <?dbhtml filename="advanced-uses-of-mercurial-queues.html"?>
    21.9    <title>Advanced uses of Mercurial Queues</title>
   21.10  
   21.11 @@ -430,12 +430,12 @@
   21.12  	path separators.</para>
   21.13  
   21.14      </sect2>
   21.15 -    <sect2 id="mq-collab.tips.interdiff">
   21.16 +    <sect2 id="mq-collab:tips:interdiff">
   21.17        <title>Viewing the history of a patch</title>
   21.18  
   21.19        <para id="x_19a">If you're developing a set of patches over a long time,
   21.20  	it's a good idea to maintain them in a repository, as
   21.21 -	discussed in section <xref linkend="sec.mq.repo"/>.  If you do
   21.22 +	discussed in <xref linkend="sec:mq:repo"/>.  If you do
   21.23  	so, you'll quickly
   21.24  	discover that using the <command role="hg-cmd">hg
   21.25  	  diff</command> command to look at the history of changes to
   21.26 @@ -504,8 +504,8 @@
   21.27  
   21.28        <para id="x_1a2">The <literal role="hg-ext">extdiff</literal> extension is
   21.29  	useful for more than merely improving the presentation of MQ
   21.30 -	patches.  To read more about it, go to section <xref
   21.31 -	  linkend="sec.hgext.extdiff"/>.</para>
   21.32 +	patches.  To read more about it, go to <xref
   21.33 +	  linkend="sec:hgext:extdiff"/>.</para>
   21.34  
   21.35      </sect2>
   21.36    </sect1>
    22.1 --- a/en/ch13-hgext.xml	Fri Mar 20 17:17:55 2009 +0800
    22.2 +++ b/en/ch13-hgext.xml	Mon Mar 30 16:23:33 2009 +0800
    22.3 @@ -1,27 +1,27 @@
    22.4  <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
    22.5  
    22.6 -<chapter id="chap.hgext">
    22.7 +<chapter id="chap:hgext">
    22.8    <?dbhtml filename="adding-functionality-with-extensions.html"?>
    22.9    <title>Adding functionality with extensions</title>
   22.10  
   22.11 -  <para>While the core of Mercurial is quite complete from a
   22.12 +  <para id="x_4fe">While the core of Mercurial is quite complete from a
   22.13      functionality standpoint, it's deliberately shorn of fancy
   22.14      features.  This approach of preserving simplicity keeps the
   22.15      software easy to deal with for both maintainers and users.</para>
   22.16  
   22.17 -  <para>However, Mercurial doesn't box you in with an inflexible
   22.18 +  <para id="x_4ff">However, Mercurial doesn't box you in with an inflexible
   22.19      command set: you can add features to it as
   22.20      <emphasis>extensions</emphasis> (sometimes known as
   22.21      <emphasis>plugins</emphasis>).  We've already discussed a few of
   22.22      these extensions in earlier chapters.</para>
   22.23    <itemizedlist>
   22.24 -    <listitem><para>Section <xref linkend="sec.tour-merge.fetch"/>
   22.25 +    <listitem><para id="x_500"><xref linkend="sec:tour-merge:fetch"/>
   22.26  	covers the <literal role="hg-ext">fetch</literal> extension;
   22.27  	this combines pulling new changes and merging them with local
   22.28  	changes into a single command, <command
   22.29  	  role="hg-ext-fetch">fetch</command>.</para>
   22.30      </listitem>
   22.31 -    <listitem><para>In chapter <xref linkend="chap.hook"/>, we covered
   22.32 +    <listitem><para id="x_501">In <xref linkend="chap:hook"/>, we covered
   22.33  	several extensions that are useful for hook-related
   22.34  	functionality: <literal role="hg-ext">acl</literal> adds
   22.35  	access control lists; <literal
   22.36 @@ -30,36 +30,36 @@
   22.37  	  role="hg-ext">notify</literal> sends notification emails on
   22.38  	new changes.</para>
   22.39      </listitem>
   22.40 -    <listitem><para>The Mercurial Queues patch management extension is
   22.41 +    <listitem><para id="x_502">The Mercurial Queues patch management extension is
   22.42  	so invaluable that it merits two chapters and an appendix all
   22.43 -	to itself. Chapter <xref linkend="chap.mq"/> covers the
   22.44 -	basics; chapter <xref
   22.45 -	  linkend="chap.mq-collab"/> discusses advanced topics;
   22.46 -	and appendix <xref linkend="chap.mqref"/> goes into detail on
   22.47 +	to itself. <xref linkend="chap:mq"/> covers the
   22.48 +	basics; <xref
   22.49 +	  linkend="chap:mq-collab"/> discusses advanced topics;
   22.50 +	and <xref linkend="chap:mqref"/> goes into detail on
   22.51  	each
   22.52  	command.</para>
   22.53      </listitem></itemizedlist>
   22.54  
   22.55 -  <para>In this chapter, we'll cover some of the other extensions that
   22.56 +  <para id="x_503">In this chapter, we'll cover some of the other extensions that
   22.57      are available for Mercurial, and briefly touch on some of the
   22.58      machinery you'll need to know about if you want to write an
   22.59      extension of your own.</para>
   22.60    <itemizedlist>
   22.61 -    <listitem><para>In section <xref linkend="sec.hgext.inotify"/>,
   22.62 +    <listitem><para id="x_504">In <xref linkend="sec:hgext:inotify"/>,
   22.63  	we'll discuss the possibility of <emphasis>huge</emphasis>
   22.64  	performance improvements using the <literal
   22.65  	  role="hg-ext">inotify</literal> extension.</para>
   22.66      </listitem></itemizedlist>
   22.67  
   22.68 -  <sect1 id="sec.hgext.inotify">
   22.69 +  <sect1 id="sec:hgext:inotify">
   22.70      <title>Improve performance with the <literal
   22.71  	role="hg-ext">inotify</literal> extension</title>
   22.72  
   22.73 -    <para>Are you interested in having some of the most common
   22.74 +    <para id="x_505">Are you interested in having some of the most common
   22.75        Mercurial operations run as much as a hundred times faster?
   22.76        Read on!</para>
   22.77  
   22.78 -    <para>Mercurial has great performance under normal circumstances.
   22.79 +    <para id="x_506">Mercurial has great performance under normal circumstances.
   22.80        For example, when you run the <command role="hg-cmd">hg
   22.81  	status</command> command, Mercurial has to scan almost every
   22.82        directory and file in your repository so that it can display
   22.83 @@ -69,7 +69,7 @@
   22.84        machinery to avoid doing an expensive comparison operation on
   22.85        files that obviously haven't changed.</para>
   22.86  
   22.87 -    <para>Because obtaining file status is crucial to good
   22.88 +    <para id="x_507">Because obtaining file status is crucial to good
   22.89        performance, the authors of Mercurial have optimised this code
   22.90        to within an inch of its life.  However, there's no avoiding the
   22.91        fact that when you run <command role="hg-cmd">hg
   22.92 @@ -79,20 +79,20 @@
   22.93        checked.  For a sufficiently large repository, this can take a
   22.94        long time.</para>
   22.95  
   22.96 -    <para>To put a number on the magnitude of this effect, I created a
   22.97 +    <para id="x_508">To put a number on the magnitude of this effect, I created a
   22.98        repository containing 150,000 managed files.  I timed <command
   22.99  	role="hg-cmd">hg status</command> as taking ten seconds to
  22.100        run, even when <emphasis>none</emphasis> of those files had been
  22.101        modified.</para>
  22.102  
  22.103 -    <para>Many modern operating systems contain a file notification
  22.104 +    <para id="x_509">Many modern operating systems contain a file notification
  22.105        facility. If a program signs up to an appropriate service, the
  22.106        operating system will notify it every time a file of interest is
  22.107        created, modified, or deleted.  On Linux systems, the kernel
  22.108        component that does this is called
  22.109        <literal>inotify</literal>.</para>
  22.110  
  22.111 -    <para>Mercurial's <literal role="hg-ext">inotify</literal>
  22.112 +    <para id="x_50a">Mercurial's <literal role="hg-ext">inotify</literal>
  22.113        extension talks to the kernel's <literal>inotify</literal>
  22.114        component to optimise <command role="hg-cmd">hg status</command>
  22.115        commands.  The extension has two components.  A daemon sits in
  22.116 @@ -105,29 +105,29 @@
  22.117        with a result instantaneously, avoiding the need to scan every
  22.118        directory and file in the repository.</para>
  22.119  
  22.120 -    <para>Recall the ten seconds that I measured plain Mercurial as
  22.121 +    <para id="x_50b">Recall the ten seconds that I measured plain Mercurial as
  22.122        taking to run <command role="hg-cmd">hg status</command> on a
  22.123        150,000 file repository.  With the <literal
  22.124  	role="hg-ext">inotify</literal> extension enabled, the time
  22.125        dropped to 0.1 seconds, a factor of <emphasis>one
  22.126  	hundred</emphasis> faster.</para>
  22.127  
  22.128 -    <para>Before we continue, please pay attention to some
  22.129 +    <para id="x_50c">Before we continue, please pay attention to some
  22.130        caveats.</para>
  22.131      <itemizedlist>
  22.132 -      <listitem><para>The <literal role="hg-ext">inotify</literal>
  22.133 +      <listitem><para id="x_50d">The <literal role="hg-ext">inotify</literal>
  22.134  	  extension is Linux-specific.  Because it interfaces directly
  22.135  	  to the Linux kernel's <literal>inotify</literal> subsystem,
  22.136  	  it does not work on other operating systems.</para>
  22.137        </listitem>
  22.138 -      <listitem><para>It should work on any Linux distribution that
  22.139 +      <listitem><para id="x_50e">It should work on any Linux distribution that
  22.140  	  was released after early 2005.  Older distributions are
  22.141  	  likely to have a kernel that lacks
  22.142  	  <literal>inotify</literal>, or a version of
  22.143  	  <literal>glibc</literal> that does not have the necessary
  22.144  	  interfacing support.</para>
  22.145        </listitem>
  22.146 -      <listitem><para>Not all filesystems are suitable for use with
  22.147 +      <listitem><para id="x_50f">Not all filesystems are suitable for use with
  22.148  	  the <literal role="hg-ext">inotify</literal> extension.
  22.149  	  Network filesystems such as NFS are a non-starter, for
  22.150  	  example, particularly if you're running Mercurial on several
  22.151 @@ -138,40 +138,40 @@
  22.152  	  fine.</para>
  22.153        </listitem></itemizedlist>
  22.154  
  22.155 -    <para>The <literal role="hg-ext">inotify</literal> extension is
  22.156 +    <para id="x_510">The <literal role="hg-ext">inotify</literal> extension is
  22.157        not yet shipped with Mercurial as of May 2007, so it's a little
  22.158        more involved to set up than other extensions.  But the
  22.159        performance improvement is worth it!</para>
  22.160  
  22.161 -    <para>The extension currently comes in two parts: a set of patches
  22.162 +    <para id="x_511">The extension currently comes in two parts: a set of patches
  22.163        to the Mercurial source code, and a library of Python bindings
  22.164        to the <literal>inotify</literal> subsystem.</para>
  22.165      <note>
  22.166 -      <para>  There are <emphasis>two</emphasis> Python
  22.167 +      <para id="x_512">  There are <emphasis>two</emphasis> Python
  22.168  	<literal>inotify</literal> binding libraries.  One of them is
  22.169  	called <literal>pyinotify</literal>, and is packaged by some
  22.170  	Linux distributions as <literal>python-inotify</literal>.
  22.171  	This is <emphasis>not</emphasis> the one you'll need, as it is
  22.172  	too buggy and inefficient to be practical.</para>
  22.173      </note>
  22.174 -    <para>To get going, it's best to already have a functioning copy
  22.175 +    <para id="x_513">To get going, it's best to already have a functioning copy
  22.176        of Mercurial installed.</para>
  22.177      <note>
  22.178 -      <para>  If you follow the instructions below, you'll be
  22.179 +      <para id="x_514">  If you follow the instructions below, you'll be
  22.180  	<emphasis>replacing</emphasis> and overwriting any existing
  22.181  	installation of Mercurial that you might already have, using
  22.182  	the latest <quote>bleeding edge</quote> Mercurial code. Don't
  22.183  	say you weren't warned!</para>
  22.184      </note>
  22.185      <orderedlist>
  22.186 -      <listitem><para>Clone the Python <literal>inotify</literal>
  22.187 +      <listitem><para id="x_515">Clone the Python <literal>inotify</literal>
  22.188  	  binding repository.  Build and install it.</para>
  22.189  	<programlisting>hg clone http://hg.kublai.com/python/inotify
  22.190  cd inotify
  22.191  python setup.py build --force
  22.192  sudo python setup.py install --skip-build</programlisting>
  22.193        </listitem>
  22.194 -      <listitem><para>Clone the <filename
  22.195 +      <listitem><para id="x_516">Clone the <filename
  22.196  	    class="directory">crew</filename> Mercurial repository.
  22.197  	  Clone the <literal role="hg-ext">inotify</literal> patch
  22.198  	  repository so that Mercurial Queues will be able to apply
  22.199 @@ -181,13 +181,13 @@
  22.200  hg clone crew inotify
  22.201  hg clone http://hg.kublai.com/mercurial/patches/inotify inotify/.hg/patches</programlisting>
  22.202        </listitem>
  22.203 -      <listitem><para>Make sure that you have the Mercurial Queues
  22.204 +      <listitem><para id="x_517">Make sure that you have the Mercurial Queues
  22.205  	  extension, <literal role="hg-ext">mq</literal>, enabled.  If
  22.206 -	  you've never used MQ, read section <xref
  22.207 -	    linkend="sec.mq.start"/> to get started
  22.208 +	  you've never used MQ, read <xref
  22.209 +	    linkend="sec:mq:start"/> to get started
  22.210  	  quickly.</para>
  22.211        </listitem>
  22.212 -      <listitem><para>Go into the <filename
  22.213 +      <listitem><para id="x_518">Go into the <filename
  22.214  	    class="directory">inotify</filename> repo, and apply all
  22.215  	  of the <literal role="hg-ext">inotify</literal> patches
  22.216  	  using the <option role="hg-ext-mq-cmd-qpush-opt">hg
  22.217 @@ -196,28 +196,28 @@
  22.218  	<programlisting>cd inotify
  22.219  hg qpush -a</programlisting>
  22.220        </listitem>
  22.221 -      <listitem><para>  If you get an error message from <command
  22.222 +      <listitem><para id="x_519">  If you get an error message from <command
  22.223  	    role="hg-ext-mq">qpush</command>, you should not continue.
  22.224  	  Instead, ask for help.</para>
  22.225        </listitem>
  22.226 -      <listitem><para>Build and install the patched version of
  22.227 +      <listitem><para id="x_51a">Build and install the patched version of
  22.228  	  Mercurial.</para>
  22.229  	<programlisting>python setup.py build --force
  22.230  sudo python setup.py install --skip-build</programlisting>
  22.231        </listitem>
  22.232      </orderedlist>
  22.233 -    <para>Once you've build a suitably patched version of Mercurial,
  22.234 +    <para id="x_51b">Once you've build a suitably patched version of Mercurial,
  22.235        all you need to do to enable the <literal
  22.236  	role="hg-ext">inotify</literal> extension is add an entry to
  22.237        your <filename role="special">~/.hgrc</filename>.</para>
  22.238      <programlisting>[extensions] inotify =</programlisting>
  22.239 -    <para>When the <literal role="hg-ext">inotify</literal> extension
  22.240 +    <para id="x_51c">When the <literal role="hg-ext">inotify</literal> extension
  22.241        is enabled, Mercurial will automatically and transparently start
  22.242        the status daemon the first time you run a command that needs
  22.243        status in a repository.  It runs one status daemon per
  22.244        repository.</para>
  22.245  
  22.246 -    <para>The status daemon is started silently, and runs in the
  22.247 +    <para id="x_51d">The status daemon is started silently, and runs in the
  22.248        background.  If you look at a list of running processes after
  22.249        you've enabled the <literal role="hg-ext">inotify</literal>
  22.250        extension and run a few commands in different repositories,
  22.251 @@ -225,7 +225,7 @@
  22.252        around, waiting for updates from the kernel and queries from
  22.253        Mercurial.</para>
  22.254  
  22.255 -    <para>The first time you run a Mercurial command in a repository
  22.256 +    <para id="x_51e">The first time you run a Mercurial command in a repository
  22.257        when you have the <literal role="hg-ext">inotify</literal>
  22.258        extension enabled, it will run with about the same performance
  22.259        as a normal Mercurial command.  This is because the status
  22.260 @@ -239,14 +239,14 @@
  22.261        status operations almost instantaneous on repositories of all
  22.262        sizes!</para>
  22.263  
  22.264 -    <para>If you like, you can manually start a status daemon using
  22.265 +    <para id="x_51f">If you like, you can manually start a status daemon using
  22.266        the <command role="hg-ext-inotify">inserve</command> command.
  22.267        This gives you slightly finer control over how the daemon ought
  22.268        to run.  This command will of course only be available when the
  22.269        <literal role="hg-ext">inotify</literal> extension is
  22.270        enabled.</para>
  22.271  
  22.272 -    <para>When you're using the <literal
  22.273 +    <para id="x_520">When you're using the <literal
  22.274  	role="hg-ext">inotify</literal> extension, you should notice
  22.275        <emphasis>no difference at all</emphasis> in Mercurial's
  22.276        behaviour, with the sole exception of status-related commands
  22.277 @@ -256,28 +256,28 @@
  22.278        these situations occurs, please report a bug.</para>
  22.279  
  22.280    </sect1>
  22.281 -  <sect1 id="sec.hgext.extdiff">
  22.282 +  <sect1 id="sec:hgext:extdiff">
  22.283      <title>Flexible diff support with the <literal
  22.284  	role="hg-ext">extdiff</literal> extension</title>
  22.285  
  22.286 -    <para>Mercurial's built-in <command role="hg-cmd">hg
  22.287 +    <para id="x_521">Mercurial's built-in <command role="hg-cmd">hg
  22.288  	diff</command> command outputs plaintext unified diffs.</para>
  22.289  
  22.290      &interaction.extdiff.diff;
  22.291  
  22.292 -    <para>If you would like to use an external tool to display
  22.293 +    <para id="x_522">If you would like to use an external tool to display
  22.294        modifications, you'll want to use the <literal
  22.295  	role="hg-ext">extdiff</literal> extension.  This will let you
  22.296        use, for example, a graphical diff tool.</para>
  22.297  
  22.298 -    <para>The <literal role="hg-ext">extdiff</literal> extension is
  22.299 +    <para id="x_523">The <literal role="hg-ext">extdiff</literal> extension is
  22.300        bundled with Mercurial, so it's easy to set up.  In the <literal
  22.301  	role="rc-extensions">extensions</literal> section of your
  22.302        <filename role="special">~/.hgrc</filename>, simply add a
  22.303        one-line entry to enable the extension.</para>
  22.304      <programlisting>[extensions]
  22.305  extdiff =</programlisting>
  22.306 -    <para>This introduces a command named <command
  22.307 +    <para id="x_524">This introduces a command named <command
  22.308  	role="hg-ext-extdiff">extdiff</command>, which by default uses
  22.309        your system's <command>diff</command> command to generate a
  22.310        unified diff in the same form as the built-in <command
  22.311 @@ -285,12 +285,12 @@
  22.312      
  22.313      &interaction.extdiff.extdiff;
  22.314  
  22.315 -    <para>The result won't be exactly the same as with the built-in
  22.316 +    <para id="x_525">The result won't be exactly the same as with the built-in
  22.317        <command role="hg-cmd">hg diff</command> variations, because the
  22.318        output of <command>diff</command> varies from one system to
  22.319        another, even when passed the same options.</para>
  22.320  
  22.321 -    <para>As the <quote><literal>making snapshot</literal></quote>
  22.322 +    <para id="x_526">As the <quote><literal>making snapshot</literal></quote>
  22.323        lines of output above imply, the <command
  22.324  	role="hg-ext-extdiff">extdiff</command> command works by
  22.325        creating two snapshots of your source tree.  The first snapshot
  22.326 @@ -303,7 +303,7 @@
  22.327        directories and files that have changed between the two
  22.328        revisions.</para>
  22.329  
  22.330 -    <para>Snapshot directory names have the same base name as your
  22.331 +    <para id="x_527">Snapshot directory names have the same base name as your
  22.332        repository. If your repository path is <filename
  22.333  	class="directory">/quux/bar/foo</filename>, then <filename
  22.334  	class="directory">foo</filename> will be the name of each
  22.335 @@ -319,7 +319,7 @@
  22.336        that the diff has the snapshot directory names embedded in its
  22.337        header.</para>
  22.338  
  22.339 -    <para>The <command role="hg-ext-extdiff">extdiff</command> command
  22.340 +    <para id="x_528">The <command role="hg-ext-extdiff">extdiff</command> command
  22.341        accepts two important options. The <option
  22.342  	role="hg-ext-extdiff-cmd-extdiff-opt">hg -p</option> option
  22.343        lets you choose a program to view differences with, instead of
  22.344 @@ -336,7 +336,7 @@
  22.345        and arguments to specify the revisions you want, the files you
  22.346        want, and so on.</para>
  22.347  
  22.348 -    <para>As an example, here's how to run the normal system
  22.349 +    <para id="x_529">As an example, here's how to run the normal system
  22.350        <command>diff</command> command, getting it to generate context
  22.351        diffs (using the <option role="cmd-opt-diff">-c</option> option)
  22.352        instead of unified diffs, and five lines of context instead of
  22.353 @@ -345,28 +345,28 @@
  22.354  
  22.355        &interaction.extdiff.extdiff-ctx;
  22.356  
  22.357 -    <para>Launching a visual diff tool is just as easy.  Here's how to
  22.358 +    <para id="x_52a">Launching a visual diff tool is just as easy.  Here's how to
  22.359        launch the <command>kdiff3</command> viewer.</para>
  22.360      <programlisting>hg extdiff -p kdiff3 -o</programlisting>
  22.361  
  22.362 -    <para>If your diff viewing command can't deal with directories,
  22.363 +    <para id="x_52b">If your diff viewing command can't deal with directories,
  22.364        you can easily work around this with a little scripting.  For an
  22.365        example of such scripting in action with the <literal
  22.366  	role="hg-ext">mq</literal> extension and the
  22.367 -      <command>interdiff</command> command, see section <xref
  22.368 -	linkend="mq-collab.tips.interdiff"/>.</para>
  22.369 +      <command>interdiff</command> command, see <xref
  22.370 +	linkend="mq-collab:tips:interdiff"/>.</para>
  22.371  
  22.372      <sect2>
  22.373        <title>Defining command aliases</title>
  22.374  
  22.375 -      <para>It can be cumbersome to remember the options to both the
  22.376 +      <para id="x_52c">It can be cumbersome to remember the options to both the
  22.377  	<command role="hg-ext-extdiff">extdiff</command> command and
  22.378  	the diff viewer you want to use, so the <literal
  22.379  	  role="hg-ext">extdiff</literal> extension lets you define
  22.380  	<emphasis>new</emphasis> commands that will invoke your diff
  22.381  	viewer with exactly the right options.</para>
  22.382  
  22.383 -      <para>All you need to do is edit your <filename
  22.384 +      <para id="x_52d">All you need to do is edit your <filename
  22.385  	  role="special">~/.hgrc</filename>, and add a section named
  22.386  	<literal role="rc-extdiff">extdiff</literal>.  Inside this
  22.387  	section, you can define multiple commands.  Here's how to add
  22.388 @@ -376,7 +376,7 @@
  22.389  	will run <command>kdiff3</command> for you.</para>
  22.390        <programlisting>[extdiff]
  22.391  cmd.kdiff3 =</programlisting>
  22.392 -      <para>If you leave the right hand side of the definition empty,
  22.393 +      <para id="x_52e">If you leave the right hand side of the definition empty,
  22.394  	as above, the <literal role="hg-ext">extdiff</literal>
  22.395  	extension uses the name of the command you defined as the name
  22.396  	of the external program to run.  But these names don't have to
  22.397 @@ -386,7 +386,7 @@
  22.398        <programlisting>[extdiff]
  22.399   cmd.wibble = kdiff3</programlisting>
  22.400  
  22.401 -      <para>You can also specify the default options that you want to
  22.402 +      <para id="x_52f">You can also specify the default options that you want to
  22.403  	invoke your diff viewing program with.  The prefix to use is
  22.404  	<quote><literal>opts.</literal></quote>, followed by the name
  22.405  	of the command to which the options apply.  This example
  22.406 @@ -399,18 +399,18 @@
  22.407  
  22.408      </sect2>
  22.409    </sect1>
  22.410 -  <sect1 id="sec.hgext.transplant">
  22.411 +  <sect1 id="sec:hgext:transplant">
  22.412      <title>Cherrypicking changes with the <literal
  22.413  	role="hg-ext">transplant</literal> extension</title>
  22.414  
  22.415 -    <para>Need to have a long chat with Brendan about this.</para>
  22.416 +    <para id="x_530">Need to have a long chat with Brendan about this.</para>
  22.417  
  22.418    </sect1>
  22.419 -  <sect1 id="sec.hgext.patchbomb">
  22.420 +  <sect1 id="sec:hgext:patchbomb">
  22.421      <title>Send changes via email with the <literal
  22.422  	role="hg-ext">patchbomb</literal> extension</title>
  22.423  
  22.424 -    <para>Many projects have a culture of <quote>change
  22.425 +    <para id="x_531">Many projects have a culture of <quote>change
  22.426  	review</quote>, in which people send their modifications to a
  22.427        mailing list for others to read and comment on before they
  22.428        commit the final version to a shared repository.  Some projects
  22.429 @@ -418,7 +418,7 @@
  22.430        other people to a repository to which those others don't have
  22.431        access.</para>
  22.432  
  22.433 -    <para>Mercurial makes it easy to send changes over email for
  22.434 +    <para id="x_532">Mercurial makes it easy to send changes over email for
  22.435        review or application, via its <literal
  22.436  	role="hg-ext">patchbomb</literal> extension.  The extension is
  22.437        so named because changes are formatted as patches, and it's usual
  22.438 @@ -426,17 +426,17 @@
  22.439        of changes by email is thus much like <quote>bombing</quote> the
  22.440        recipient's inbox, hence <quote>patchbomb</quote>.</para>
  22.441  
  22.442 -    <para>As usual, the basic configuration of the <literal
  22.443 +    <para id="x_533">As usual, the basic configuration of the <literal
  22.444  	role="hg-ext">patchbomb</literal> extension takes just one or
  22.445        two lines in your <filename role="special">
  22.446  	/.hgrc</filename>.</para>
  22.447      <programlisting>[extensions]
  22.448  patchbomb =</programlisting>
  22.449 -    <para>Once you've enabled the extension, you will have a new
  22.450 +    <para id="x_534">Once you've enabled the extension, you will have a new
  22.451        command available, named <command
  22.452  	role="hg-ext-patchbomb">email</command>.</para>
  22.453  
  22.454 -    <para>The safest and best way to invoke the <command
  22.455 +    <para id="x_535">The safest and best way to invoke the <command
  22.456  	role="hg-ext-patchbomb">email</command> command is to
  22.457        <emphasis>always</emphasis> run it first with the <option
  22.458  	role="hg-ext-patchbomb-cmd-email-opt">hg -n</option> option.
  22.459 @@ -447,12 +447,12 @@
  22.460  	role="hg-ext-patchbomb-cmd-email-opt">hg -n</option> option
  22.461        removed.</para>
  22.462  
  22.463 -    <para>The <command role="hg-ext-patchbomb">email</command> command
  22.464 +    <para id="x_536">The <command role="hg-ext-patchbomb">email</command> command
  22.465        accepts the same kind of revision syntax as every other
  22.466        Mercurial command.  For example, this command will send every
  22.467        revision between 7 and <literal>tip</literal>, inclusive.</para>
  22.468      <programlisting>hg email -n 7:tip</programlisting>
  22.469 -    <para>You can also specify a <emphasis>repository</emphasis> to
  22.470 +    <para id="x_537">You can also specify a <emphasis>repository</emphasis> to
  22.471        compare with.  If you provide a repository but no revisions, the
  22.472        <command role="hg-ext-patchbomb">email</command> command will
  22.473        send all revisions in the local repository that are not present
  22.474 @@ -461,7 +461,7 @@
  22.475  	role="hg-ext-patchbomb-cmd-email-opt">hg -b</option> option),
  22.476        this will constrain the revisions sent.</para>
  22.477  
  22.478 -    <para>It's perfectly safe to run the <command
  22.479 +    <para id="x_538">It's perfectly safe to run the <command
  22.480  	role="hg-ext-patchbomb">email</command> command without the
  22.481        names of the people you want to send to: if you do this, it will
  22.482        just prompt you for those values interactively.  (If you're
  22.483 @@ -469,12 +469,12 @@
  22.484        <literal>readline</literal>-style editing capabilities when
  22.485        entering those headers, too, which is useful.)</para>
  22.486  
  22.487 -    <para>When you are sending just one revision, the <command
  22.488 +    <para id="x_539">When you are sending just one revision, the <command
  22.489  	role="hg-ext-patchbomb">email</command> command will by
  22.490        default use the first line of the changeset description as the
  22.491        subject of the single email message it sends.</para>
  22.492  
  22.493 -    <para>If you send multiple revisions, the <command
  22.494 +    <para id="x_53a">If you send multiple revisions, the <command
  22.495  	role="hg-ext-patchbomb">email</command> command will usually
  22.496        send one message per changeset.  It will preface the series with
  22.497        an introductory message, in which you should describe the
  22.498 @@ -483,39 +483,39 @@
  22.499      <sect2>
  22.500        <title>Changing the behaviour of patchbombs</title>
  22.501  
  22.502 -      <para>Not every project has exactly the same conventions for
  22.503 +      <para id="x_53b">Not every project has exactly the same conventions for
  22.504  	sending changes in email; the <literal
  22.505  	  role="hg-ext">patchbomb</literal> extension tries to
  22.506  	accommodate a number of variations through command line
  22.507  	options.</para>
  22.508        <itemizedlist>
  22.509 -	<listitem><para>You can write a subject for the introductory
  22.510 +	<listitem><para id="x_53c">You can write a subject for the introductory
  22.511  	    message on the command line using the <option
  22.512  	      role="hg-ext-patchbomb-cmd-email-opt">hg -s</option>
  22.513  	    option.  This takes one argument, the text of the subject
  22.514  	    to use.</para>
  22.515  	</listitem>
  22.516 -	<listitem><para>To change the email address from which the
  22.517 +	<listitem><para id="x_53d">To change the email address from which the
  22.518  	    messages originate, use the <option
  22.519  	      role="hg-ext-patchbomb-cmd-email-opt">hg -f</option>
  22.520  	    option.  This takes one argument, the email address to
  22.521  	    use.</para>
  22.522  	</listitem>
  22.523 -	<listitem><para>The default behaviour is to send unified diffs
  22.524 -	    (see section <xref linkend="sec.mq.patch"/> for a
  22.525 +	<listitem><para id="x_53e">The default behaviour is to send unified diffs
  22.526 +	    (see <xref linkend="sec:mq:patch"/> for a
  22.527  	    description of the
  22.528  	    format), one per message.  You can send a binary bundle
  22.529  	    instead with the <option
  22.530  	      role="hg-ext-patchbomb-cmd-email-opt">hg -b</option>
  22.531  	    option.</para>
  22.532  	</listitem>
  22.533 -	<listitem><para>Unified diffs are normally prefaced with a
  22.534 +	<listitem><para id="x_53f">Unified diffs are normally prefaced with a
  22.535  	    metadata header.  You can omit this, and send unadorned
  22.536  	    diffs, with the <option
  22.537  	      role="hg-ext-patchbomb-cmd-email-opt">hg
  22.538  	      --plain</option> option.</para>
  22.539  	</listitem>
  22.540 -	<listitem><para>Diffs are normally sent <quote>inline</quote>,
  22.541 +	<listitem><para id="x_540">Diffs are normally sent <quote>inline</quote>,
  22.542  	    in the same body part as the description of a patch.  This
  22.543  	    makes it easiest for the largest number of readers to
  22.544  	    quote and respond to parts of a diff, as some mail clients
  22.545 @@ -525,14 +525,14 @@
  22.546  	      role="hg-ext-patchbomb-cmd-email-opt">hg -a</option>
  22.547  	    option.</para>
  22.548  	</listitem>
  22.549 -	<listitem><para>Instead of sending mail messages, you can
  22.550 +	<listitem><para id="x_541">Instead of sending mail messages, you can
  22.551  	    write them to an <literal>mbox</literal>-format mail
  22.552  	    folder using the <option
  22.553  	      role="hg-ext-patchbomb-cmd-email-opt">hg -m</option>
  22.554  	    option.  That option takes one argument, the name of the
  22.555  	    file to write to.</para>
  22.556  	</listitem>
  22.557 -	<listitem><para>If you would like to add a
  22.558 +	<listitem><para id="x_542">If you would like to add a
  22.559  	    <command>diffstat</command>-format summary to each patch,
  22.560  	    and one to the introductory message, use the <option
  22.561  	      role="hg-ext-patchbomb-cmd-email-opt">hg -d</option>
    23.1 --- a/en/examples/auto-snippets.xml	Fri Mar 20 17:17:55 2009 +0800
    23.2 +++ b/en/examples/auto-snippets.xml	Mon Mar 30 16:23:33 2009 +0800
    23.3 @@ -1,222 +1,225 @@
    23.4 -<!ENTITY ch06-apache-config.lst SYSTEM "ch06/apache-config.lst">
    23.5 -<!ENTITY ch10-bugzilla-config.lst SYSTEM "ch10/bugzilla-config.lst">
    23.6 -<!ENTITY ch10-notify-config-mail.lst SYSTEM "ch10/notify-config-mail.lst">
    23.7 -<!ENTITY ch10-notify-config.lst SYSTEM "ch10/notify-config.lst">
    23.8 -<!ENTITY interaction.backout.init SYSTEM "results/backout.init.out">
    23.9 -<!ENTITY interaction.backout.manual.backout SYSTEM "results/backout.manual.backout.out">
   23.10 -<!ENTITY interaction.backout.manual.cat SYSTEM "results/backout.manual.cat.out">
   23.11 -<!ENTITY interaction.backout.manual.clone SYSTEM "results/backout.manual.clone.out">
   23.12 -<!ENTITY interaction.backout.manual.heads SYSTEM "results/backout.manual.heads.out">
   23.13 -<!ENTITY interaction.backout.manual.log SYSTEM "results/backout.manual.log.out">
   23.14 -<!ENTITY interaction.backout.manual.merge SYSTEM "results/backout.manual.merge.out">
   23.15 -<!ENTITY interaction.backout.manual.parents SYSTEM "results/backout.manual.parents.out">
   23.16 -<!ENTITY interaction.backout.non-tip.backout SYSTEM "results/backout.non-tip.backout.out">
   23.17 -<!ENTITY interaction.backout.non-tip.cat SYSTEM "results/backout.non-tip.cat.out">
   23.18 -<!ENTITY interaction.backout.non-tip.clone SYSTEM "results/backout.non-tip.clone.out">
   23.19 -<!ENTITY interaction.backout.simple SYSTEM "results/backout.simple.out">
   23.20 -<!ENTITY interaction.backout.simple.log SYSTEM "results/backout.simple.log.out">
   23.21 -<!ENTITY interaction.bisect.commits SYSTEM "results/bisect.commits.out">
   23.22 -<!ENTITY interaction.bisect.help SYSTEM "results/bisect.help.out">
   23.23 -<!ENTITY interaction.bisect.init SYSTEM "results/bisect.init.out">
   23.24 -<!ENTITY interaction.bisect.search.bad-init SYSTEM "results/bisect.search.bad-init.out">
   23.25 -<!ENTITY interaction.bisect.search.good-init SYSTEM "results/bisect.search.good-init.out">
   23.26 -<!ENTITY interaction.bisect.search.init SYSTEM "results/bisect.search.init.out">
   23.27 -<!ENTITY interaction.bisect.search.mytest SYSTEM "results/bisect.search.mytest.out">
   23.28 -<!ENTITY interaction.bisect.search.reset SYSTEM "results/bisect.search.reset.out">
   23.29 -<!ENTITY interaction.bisect.search.rest SYSTEM "results/bisect.search.rest.out">
   23.30 -<!ENTITY interaction.bisect.search.step1 SYSTEM "results/bisect.search.step1.out">
   23.31 -<!ENTITY interaction.bisect.search.step2 SYSTEM "results/bisect.search.step2.out">
   23.32 -<!ENTITY interaction.branch-named.branch SYSTEM "results/branch-named.branch.out">
   23.33 -<!ENTITY interaction.branch-named.branches SYSTEM "results/branch-named.branches.out">
   23.34 -<!ENTITY interaction.branch-named.commit SYSTEM "results/branch-named.commit.out">
   23.35 -<!ENTITY interaction.branch-named.create SYSTEM "results/branch-named.create.out">
   23.36 -<!ENTITY interaction.branch-named.foo-commit SYSTEM "results/branch-named.foo-commit.out">
   23.37 -<!ENTITY interaction.branch-named.merge SYSTEM "results/branch-named.merge.out">
   23.38 -<!ENTITY interaction.branch-named.parents SYSTEM "results/branch-named.parents.out">
   23.39 -<!ENTITY interaction.branch-named.rebranch SYSTEM "results/branch-named.rebranch.out">
   23.40 -<!ENTITY interaction.branch-named.status SYSTEM "results/branch-named.status.out">
   23.41 -<!ENTITY interaction.branch-named.update-bar SYSTEM "results/branch-named.update-bar.out">
   23.42 -<!ENTITY interaction.branch-named.update-nothing SYSTEM "results/branch-named.update-nothing.out">
   23.43 -<!ENTITY interaction.branch-named.update-switchy SYSTEM "results/branch-named.update-switchy.out">
   23.44 -<!ENTITY interaction.branch-repo.bugfix SYSTEM "results/branch-repo.bugfix.out">
   23.45 -<!ENTITY interaction.branch-repo.clone SYSTEM "results/branch-repo.clone.out">
   23.46 -<!ENTITY interaction.branch-repo.merge SYSTEM "results/branch-repo.merge.out">
   23.47 -<!ENTITY interaction.branch-repo.new SYSTEM "results/branch-repo.new.out">
   23.48 -<!ENTITY interaction.branch-repo.pull SYSTEM "results/branch-repo.pull.out">
   23.49 -<!ENTITY interaction.branch-repo.tag SYSTEM "results/branch-repo.tag.out">
   23.50 -<!ENTITY interaction.branching.clone SYSTEM "results/branching.clone.out">
   23.51 -<!ENTITY interaction.branching.init SYSTEM "results/branching.init.out">
   23.52 -<!ENTITY interaction.branching.main SYSTEM "results/branching.main.out">
   23.53 -<!ENTITY interaction.branching.merge SYSTEM "results/branching.merge.out">
   23.54 -<!ENTITY interaction.branching.stable SYSTEM "results/branching.stable.out">
   23.55 -<!ENTITY interaction.branching.tag SYSTEM "results/branching.tag.out">
   23.56 -<!ENTITY interaction.branching.update SYSTEM "results/branching.update.out">
   23.57 -<!ENTITY interaction.cmdref.diff-p SYSTEM "results/cmdref.diff-p.out">
   23.58 -<!ENTITY interaction.daily.copy.after SYSTEM "results/daily.copy.after.out">
   23.59 -<!ENTITY interaction.daily.copy.cat SYSTEM "results/daily.copy.cat.out">
   23.60 -<!ENTITY interaction.daily.copy.clone SYSTEM "results/daily.copy.clone.out">
   23.61 -<!ENTITY interaction.daily.copy.copy SYSTEM "results/daily.copy.copy.out">
   23.62 -<!ENTITY interaction.daily.copy.dir-dest SYSTEM "results/daily.copy.dir-dest.out">
   23.63 -<!ENTITY interaction.daily.copy.dir-src SYSTEM "results/daily.copy.dir-src.out">
   23.64 -<!ENTITY interaction.daily.copy.dir-src-dest SYSTEM "results/daily.copy.dir-src-dest.out">
   23.65 -<!ENTITY interaction.daily.copy.init SYSTEM "results/daily.copy.init.out">
   23.66 -<!ENTITY interaction.daily.copy.merge SYSTEM "results/daily.copy.merge.out">
   23.67 -<!ENTITY interaction.daily.copy.other SYSTEM "results/daily.copy.other.out">
   23.68 -<!ENTITY interaction.daily.copy.simple SYSTEM "results/daily.copy.simple.out">
   23.69 -<!ENTITY interaction.daily.copy.status SYSTEM "results/daily.copy.status.out">
   23.70 -<!ENTITY interaction.daily.copy.status-copy SYSTEM "results/daily.copy.status-copy.out">
   23.71 -<!ENTITY interaction.daily.files.add SYSTEM "results/daily.files.add.out">
   23.72 -<!ENTITY interaction.daily.files.add-dir SYSTEM "results/daily.files.add-dir.out">
   23.73 -<!ENTITY interaction.daily.files.addremove SYSTEM "results/daily.files.addremove.out">
   23.74 -<!ENTITY interaction.daily.files.commit-addremove SYSTEM "results/daily.files.commit-addremove.out">
   23.75 -<!ENTITY interaction.daily.files.hidden SYSTEM "results/daily.files.hidden.out">
   23.76 -<!ENTITY interaction.daily.files.missing SYSTEM "results/daily.files.missing.out">
   23.77 -<!ENTITY interaction.daily.files.recover-missing SYSTEM "results/daily.files.recover-missing.out">
   23.78 -<!ENTITY interaction.daily.files.remove SYSTEM "results/daily.files.remove.out">
   23.79 -<!ENTITY interaction.daily.files.remove-after SYSTEM "results/daily.files.remove-after.out">
   23.80 -<!ENTITY interaction.daily.rename.rename SYSTEM "results/daily.rename.rename.out">
   23.81 -<!ENTITY interaction.daily.rename.status SYSTEM "results/daily.rename.status.out">
   23.82 -<!ENTITY interaction.daily.rename.status-copy SYSTEM "results/daily.rename.status-copy.out">
   23.83 -<!ENTITY interaction.daily.revert.add SYSTEM "results/daily.revert.add.out">
   23.84 -<!ENTITY interaction.daily.revert.copy SYSTEM "results/daily.revert.copy.out">
   23.85 -<!ENTITY interaction.daily.revert.missing SYSTEM "results/daily.revert.missing.out">
   23.86 -<!ENTITY interaction.daily.revert.modify SYSTEM "results/daily.revert.modify.out">
   23.87 -<!ENTITY interaction.daily.revert.remove SYSTEM "results/daily.revert.remove.out">
   23.88 -<!ENTITY interaction.daily.revert.rename SYSTEM "results/daily.revert.rename.out">
   23.89 -<!ENTITY interaction.daily.revert.rename-orig SYSTEM "results/daily.revert.rename-orig.out">
   23.90 -<!ENTITY interaction.daily.revert.status SYSTEM "results/daily.revert.status.out">
   23.91 -<!ENTITY interaction.daily.revert.unmodify SYSTEM "results/daily.revert.unmodify.out">
   23.92 -<!ENTITY interaction.extdiff.diff SYSTEM "results/extdiff.diff.out">
   23.93 -<!ENTITY interaction.extdiff.extdiff SYSTEM "results/extdiff.extdiff.out">
   23.94 -<!ENTITY interaction.extdiff.extdiff-ctx SYSTEM "results/extdiff.extdiff-ctx.out">
   23.95 -<!ENTITY interaction.filenames.dirs SYSTEM "results/filenames.dirs.out">
   23.96 -<!ENTITY interaction.filenames.files SYSTEM "results/filenames.files.out">
   23.97 -<!ENTITY interaction.filenames.filter.exclude SYSTEM "results/filenames.filter.exclude.out">
   23.98 -<!ENTITY interaction.filenames.filter.include SYSTEM "results/filenames.filter.include.out">
   23.99 -<!ENTITY interaction.filenames.glob.group SYSTEM "results/filenames.glob.group.out">
  23.100 -<!ENTITY interaction.filenames.glob.question SYSTEM "results/filenames.glob.question.out">
  23.101 -<!ENTITY interaction.filenames.glob.range SYSTEM "results/filenames.glob.range.out">
  23.102 -<!ENTITY interaction.filenames.glob.star SYSTEM "results/filenames.glob.star.out">
  23.103 -<!ENTITY interaction.filenames.glob.star-starstar SYSTEM "results/filenames.glob.star-starstar.out">
  23.104 -<!ENTITY interaction.filenames.glob.starstar SYSTEM "results/filenames.glob.starstar.out">
  23.105 -<!ENTITY interaction.filenames.wdir-relname SYSTEM "results/filenames.wdir-relname.out">
  23.106 -<!ENTITY interaction.filenames.wdir-subdir SYSTEM "results/filenames.wdir-subdir.out">
  23.107 -<!ENTITY interaction.hook.msglen.go SYSTEM "results/hook.msglen.go.out">
  23.108 -<!ENTITY interaction.hook.simple.ext SYSTEM "results/hook.simple.ext.out">
  23.109 -<!ENTITY interaction.hook.simple.init SYSTEM "results/hook.simple.init.out">
  23.110 -<!ENTITY interaction.hook.simple.pretxncommit SYSTEM "results/hook.simple.pretxncommit.out">
  23.111 -<!ENTITY interaction.hook.ws.better SYSTEM "results/hook.ws.better.out">
  23.112 -<!ENTITY interaction.hook.ws.simple SYSTEM "results/hook.ws.simple.out">
  23.113 -<!ENTITY interaction.issue29.go SYSTEM "results/issue29.go.out">
  23.114 -<!ENTITY interaction.mq.dodiff.diff SYSTEM "results/mq.dodiff.diff.out">
  23.115 -<!ENTITY interaction.mq.guards.init SYSTEM "results/mq.guards.init.out">
  23.116 -<!ENTITY interaction.mq.guards.qguard SYSTEM "results/mq.guards.qguard.out">
  23.117 -<!ENTITY interaction.mq.guards.qguard.neg SYSTEM "results/mq.guards.qguard.neg.out">
  23.118 -<!ENTITY interaction.mq.guards.qguard.pos SYSTEM "results/mq.guards.qguard.pos.out">
  23.119 -<!ENTITY interaction.mq.guards.qselect.cat SYSTEM "results/mq.guards.qselect.cat.out">
  23.120 -<!ENTITY interaction.mq.guards.qselect.error SYSTEM "results/mq.guards.qselect.error.out">
  23.121 -<!ENTITY interaction.mq.guards.qselect.foo SYSTEM "results/mq.guards.qselect.foo.out">
  23.122 -<!ENTITY interaction.mq.guards.qselect.foobar SYSTEM "results/mq.guards.qselect.foobar.out">
  23.123 -<!ENTITY interaction.mq.guards.qselect.qpush SYSTEM "results/mq.guards.qselect.qpush.out">
  23.124 -<!ENTITY interaction.mq.guards.qselect.quux SYSTEM "results/mq.guards.qselect.quux.out">
  23.125 -<!ENTITY interaction.mq.guards.series SYSTEM "results/mq.guards.series.out">
  23.126 -<!ENTITY interaction.mq.id.output SYSTEM "results/mq.id.output.out">
  23.127 -<!ENTITY interaction.mq.qinit-help.help SYSTEM "results/mq.qinit-help.help.out">
  23.128 -<!ENTITY interaction.mq.tarball.download SYSTEM "results/mq.tarball.download.out">
  23.129 -<!ENTITY interaction.mq.tarball.newsource SYSTEM "results/mq.tarball.newsource.out">
  23.130 -<!ENTITY interaction.mq.tarball.qinit SYSTEM "results/mq.tarball.qinit.out">
  23.131 -<!ENTITY interaction.mq.tarball.repush SYSTEM "results/mq.tarball.repush.out">
  23.132 -<!ENTITY interaction.mq.tools.lsdiff SYSTEM "results/mq.tools.lsdiff.out">
  23.133 -<!ENTITY interaction.mq.tools.tools SYSTEM "results/mq.tools.tools.out">
  23.134 -<!ENTITY interaction.mq.tutorial.add SYSTEM "results/mq.tutorial.add.out">
  23.135 -<!ENTITY interaction.mq.tutorial.qinit SYSTEM "results/mq.tutorial.qinit.out">
  23.136 -<!ENTITY interaction.mq.tutorial.qnew SYSTEM "results/mq.tutorial.qnew.out">
  23.137 -<!ENTITY interaction.mq.tutorial.qnew2 SYSTEM "results/mq.tutorial.qnew2.out">
  23.138 -<!ENTITY interaction.mq.tutorial.qpop SYSTEM "results/mq.tutorial.qpop.out">
  23.139 -<!ENTITY interaction.mq.tutorial.qpush-a SYSTEM "results/mq.tutorial.qpush-a.out">
  23.140 -<!ENTITY interaction.mq.tutorial.qrefresh SYSTEM "results/mq.tutorial.qrefresh.out">
  23.141 -<!ENTITY interaction.mq.tutorial.qrefresh2 SYSTEM "results/mq.tutorial.qrefresh2.out">
  23.142 -<!ENTITY interaction.mq.tutorial.qseries SYSTEM "results/mq.tutorial.qseries.out">
  23.143 -<!ENTITY interaction.rename.divergent.clone SYSTEM "results/rename.divergent.clone.out">
  23.144 -<!ENTITY interaction.rename.divergent.merge SYSTEM "results/rename.divergent.merge.out">
  23.145 -<!ENTITY interaction.rename.divergent.rename.anne SYSTEM "results/rename.divergent.rename.anne.out">
  23.146 -<!ENTITY interaction.rename.divergent.rename.bob SYSTEM "results/rename.divergent.rename.bob.out">
  23.147 -<!ENTITY interaction.rollback.add SYSTEM "results/rollback.add.out">
  23.148 -<!ENTITY interaction.rollback.commit SYSTEM "results/rollback.commit.out">
  23.149 -<!ENTITY interaction.rollback.rollback SYSTEM "results/rollback.rollback.out">
  23.150 -<!ENTITY interaction.rollback.status SYSTEM "results/rollback.status.out">
  23.151 -<!ENTITY interaction.rollback.tip SYSTEM "results/rollback.tip.out">
  23.152 -<!ENTITY interaction.rollback.twice SYSTEM "results/rollback.twice.out">
  23.153 -<!ENTITY interaction.tag.init SYSTEM "results/tag.init.out">
  23.154 -<!ENTITY interaction.tag.log SYSTEM "results/tag.log.out">
  23.155 -<!ENTITY interaction.tag.log.v1.0 SYSTEM "results/tag.log.v1.0.out">
  23.156 -<!ENTITY interaction.tag.remove SYSTEM "results/tag.remove.out">
  23.157 -<!ENTITY interaction.tag.replace SYSTEM "results/tag.replace.out">
  23.158 -<!ENTITY interaction.tag.tag SYSTEM "results/tag.tag.out">
  23.159 -<!ENTITY interaction.tag.tags SYSTEM "results/tag.tags.out">
  23.160 -<!ENTITY interaction.tag.tip SYSTEM "results/tag.tip.out">
  23.161 -<!ENTITY interaction.template.simple.changelog SYSTEM "results/template.simple.changelog.out">
  23.162 -<!ENTITY interaction.template.simple.combine SYSTEM "results/template.simple.combine.out">
  23.163 -<!ENTITY interaction.template.simple.compact SYSTEM "results/template.simple.compact.out">
  23.164 -<!ENTITY interaction.template.simple.datekeyword SYSTEM "results/template.simple.datekeyword.out">
  23.165 -<!ENTITY interaction.template.simple.keywords SYSTEM "results/template.simple.keywords.out">
  23.166 -<!ENTITY interaction.template.simple.manyfilters SYSTEM "results/template.simple.manyfilters.out">
  23.167 -<!ENTITY interaction.template.simple.normal SYSTEM "results/template.simple.normal.out">
  23.168 -<!ENTITY interaction.template.simple.rev SYSTEM "results/template.simple.rev.out">
  23.169 -<!ENTITY interaction.template.simple.simplest SYSTEM "results/template.simple.simplest.out">
  23.170 -<!ENTITY interaction.template.simple.simplesub SYSTEM "results/template.simple.simplesub.out">
  23.171 -<!ENTITY interaction.template.svnstyle.id SYSTEM "results/template.svnstyle.id.out">
  23.172 -<!ENTITY interaction.template.svnstyle.result SYSTEM "results/template.svnstyle.result.out">
  23.173 -<!ENTITY interaction.template.svnstyle.short SYSTEM "results/template.svnstyle.short.out">
  23.174 -<!ENTITY interaction.template.svnstyle.simplest SYSTEM "results/template.svnstyle.simplest.out">
  23.175 -<!ENTITY interaction.template.svnstyle.style SYSTEM "results/template.svnstyle.style.out">
  23.176 -<!ENTITY interaction.template.svnstyle.syntax.error SYSTEM "results/template.svnstyle.syntax.error.out">
  23.177 -<!ENTITY interaction.template.svnstyle.syntax.input SYSTEM "results/template.svnstyle.syntax.input.out">
  23.178 -<!ENTITY interaction.template.svnstyle.template SYSTEM "results/template.svnstyle.template.out">
  23.179 -<!ENTITY interaction.tour-merge-conflict.commit SYSTEM "results/tour-merge-conflict.commit.out">
  23.180 -<!ENTITY interaction.tour-merge-conflict.cousin SYSTEM "results/tour-merge-conflict.cousin.out">
  23.181 -<!ENTITY interaction.tour-merge-conflict.merge SYSTEM "results/tour-merge-conflict.merge.out">
  23.182 -<!ENTITY interaction.tour-merge-conflict.pull SYSTEM "results/tour-merge-conflict.pull.out">
  23.183 -<!ENTITY interaction.tour-merge-conflict.son SYSTEM "results/tour-merge-conflict.son.out">
  23.184 -<!ENTITY interaction.tour-merge-conflict.wife SYSTEM "results/tour-merge-conflict.wife.out">
  23.185 -<!ENTITY interaction.tour.clone SYSTEM "results/tour.clone.out">
  23.186 -<!ENTITY interaction.tour.clone-pull SYSTEM "results/tour.clone-pull.out">
  23.187 -<!ENTITY interaction.tour.clone-push SYSTEM "results/tour.clone-push.out">
  23.188 -<!ENTITY interaction.tour.commit SYSTEM "results/tour.commit.out">
  23.189 -<!ENTITY interaction.tour.diff SYSTEM "results/tour.diff.out">
  23.190 -<!ENTITY interaction.tour.help SYSTEM "results/tour.help.out">
  23.191 -<!ENTITY interaction.tour.incoming SYSTEM "results/tour.incoming.out">
  23.192 -<!ENTITY interaction.tour.log SYSTEM "results/tour.log.out">
  23.193 -<!ENTITY interaction.tour.log-r SYSTEM "results/tour.log-r.out">
  23.194 -<!ENTITY interaction.tour.log-v SYSTEM "results/tour.log-v.out">
  23.195 -<!ENTITY interaction.tour.log-vp SYSTEM "results/tour.log-vp.out">
  23.196 -<!ENTITY interaction.tour.log.range SYSTEM "results/tour.log.range.out">
  23.197 -<!ENTITY interaction.tour.ls SYSTEM "results/tour.ls.out">
  23.198 -<!ENTITY interaction.tour.ls-a SYSTEM "results/tour.ls-a.out">
  23.199 -<!ENTITY interaction.tour.merge.cat SYSTEM "results/tour.merge.cat.out">
  23.200 -<!ENTITY interaction.tour.merge.clone SYSTEM "results/tour.merge.clone.out">
  23.201 -<!ENTITY interaction.tour.merge.commit SYSTEM "results/tour.merge.commit.out">
  23.202 -<!ENTITY interaction.tour.merge.dummy1 SYSTEM "results/tour.merge.dummy1.out">
  23.203 -<!ENTITY interaction.tour.merge.dummy2 SYSTEM "results/tour.merge.dummy2.out">
  23.204 -<!ENTITY interaction.tour.merge.dummy3 SYSTEM "results/tour.merge.dummy3.out">
  23.205 -<!ENTITY interaction.tour.merge.dummy4 SYSTEM "results/tour.merge.dummy4.out">
  23.206 -<!ENTITY interaction.tour.merge.heads SYSTEM "results/tour.merge.heads.out">
  23.207 -<!ENTITY interaction.tour.merge.merge SYSTEM "results/tour.merge.merge.out">
  23.208 -<!ENTITY interaction.tour.merge.parents SYSTEM "results/tour.merge.parents.out">
  23.209 -<!ENTITY interaction.tour.merge.pull SYSTEM "results/tour.merge.pull.out">
  23.210 -<!ENTITY interaction.tour.merge.tip SYSTEM "results/tour.merge.tip.out">
  23.211 -<!ENTITY interaction.tour.merge.update SYSTEM "results/tour.merge.update.out">
  23.212 -<!ENTITY interaction.tour.older SYSTEM "results/tour.older.out">
  23.213 -<!ENTITY interaction.tour.outgoing SYSTEM "results/tour.outgoing.out">
  23.214 -<!ENTITY interaction.tour.outgoing.net SYSTEM "results/tour.outgoing.net.out">
  23.215 -<!ENTITY interaction.tour.parents SYSTEM "results/tour.parents.out">
  23.216 -<!ENTITY interaction.tour.pull SYSTEM "results/tour.pull.out">
  23.217 -<!ENTITY interaction.tour.push SYSTEM "results/tour.push.out">
  23.218 -<!ENTITY interaction.tour.push.net SYSTEM "results/tour.push.net.out">
  23.219 -<!ENTITY interaction.tour.push.nothing SYSTEM "results/tour.push.nothing.out">
  23.220 -<!ENTITY interaction.tour.reclone SYSTEM "results/tour.reclone.out">
  23.221 -<!ENTITY interaction.tour.sed SYSTEM "results/tour.sed.out">
  23.222 -<!ENTITY interaction.tour.status SYSTEM "results/tour.status.out">
  23.223 -<!ENTITY interaction.tour.tip SYSTEM "results/tour.tip.out">
  23.224 -<!ENTITY interaction.tour.update SYSTEM "results/tour.update.out">
  23.225 -<!ENTITY interaction.tour.version SYSTEM "results/tour.version.out">
  23.226 +<!ENTITY ch06-apache-config.lst SYSTEM "results/ch06-apache-config.lst.lxo">
  23.227 +<!ENTITY ch10-bugzilla-config.lst SYSTEM "results/ch10-bugzilla-config.lst.lxo">
  23.228 +<!ENTITY ch10-notify-config-mail.lst SYSTEM "results/ch10-notify-config-mail.lst.lxo">
  23.229 +<!ENTITY ch10-notify-config.lst SYSTEM "results/ch10-notify-config.lst.lxo">
  23.230 +<!ENTITY interaction.backout.init SYSTEM "results/backout.init.lxo">
  23.231 +<!ENTITY interaction.backout.manual.backout SYSTEM "results/backout.manual.backout.lxo">
  23.232 +<!ENTITY interaction.backout.manual.cat SYSTEM "results/backout.manual.cat.lxo">
  23.233 +<!ENTITY interaction.backout.manual.clone SYSTEM "results/backout.manual.clone.lxo">
  23.234 +<!ENTITY interaction.backout.manual.heads SYSTEM "results/backout.manual.heads.lxo">
  23.235 +<!ENTITY interaction.backout.manual.log SYSTEM "results/backout.manual.log.lxo">
  23.236 +<!ENTITY interaction.backout.manual.merge SYSTEM "results/backout.manual.merge.lxo">
  23.237 +<!ENTITY interaction.backout.manual.parents SYSTEM "results/backout.manual.parents.lxo">
  23.238 +<!ENTITY interaction.backout.non-tip.backout SYSTEM "results/backout.non-tip.backout.lxo">
  23.239 +<!ENTITY interaction.backout.non-tip.cat SYSTEM "results/backout.non-tip.cat.lxo">
  23.240 +<!ENTITY interaction.backout.non-tip.clone SYSTEM "results/backout.non-tip.clone.lxo">
  23.241 +<!ENTITY interaction.backout.simple SYSTEM "results/backout.simple.lxo">
  23.242 +<!ENTITY interaction.backout.simple.log SYSTEM "results/backout.simple.log.lxo">
  23.243 +<!ENTITY interaction.bisect.commits SYSTEM "results/bisect.commits.lxo">
  23.244 +<!ENTITY interaction.bisect.help SYSTEM "results/bisect.help.lxo">
  23.245 +<!ENTITY interaction.bisect.init SYSTEM "results/bisect.init.lxo">
  23.246 +<!ENTITY interaction.bisect.search.bad-init SYSTEM "results/bisect.search.bad-init.lxo">
  23.247 +<!ENTITY interaction.bisect.search.good-init SYSTEM "results/bisect.search.good-init.lxo">
  23.248 +<!ENTITY interaction.bisect.search.init SYSTEM "results/bisect.search.init.lxo">
  23.249 +<!ENTITY interaction.bisect.search.mytest SYSTEM "results/bisect.search.mytest.lxo">
  23.250 +<!ENTITY interaction.bisect.search.reset SYSTEM "results/bisect.search.reset.lxo">
  23.251 +<!ENTITY interaction.bisect.search.rest SYSTEM "results/bisect.search.rest.lxo">
  23.252 +<!ENTITY interaction.bisect.search.step1 SYSTEM "results/bisect.search.step1.lxo">
  23.253 +<!ENTITY interaction.bisect.search.step2 SYSTEM "results/bisect.search.step2.lxo">
  23.254 +<!ENTITY interaction.branch-named.branch SYSTEM "results/branch-named.branch.lxo">
  23.255 +<!ENTITY interaction.branch-named.branches SYSTEM "results/branch-named.branches.lxo">
  23.256 +<!ENTITY interaction.branch-named.commit SYSTEM "results/branch-named.commit.lxo">
  23.257 +<!ENTITY interaction.branch-named.create SYSTEM "results/branch-named.create.lxo">
  23.258 +<!ENTITY interaction.branch-named.foo-commit SYSTEM "results/branch-named.foo-commit.lxo">
  23.259 +<!ENTITY interaction.branch-named.merge SYSTEM "results/branch-named.merge.lxo">
  23.260 +<!ENTITY interaction.branch-named.parents SYSTEM "results/branch-named.parents.lxo">
  23.261 +<!ENTITY interaction.branch-named.rebranch SYSTEM "results/branch-named.rebranch.lxo">
  23.262 +<!ENTITY interaction.branch-named.status SYSTEM "results/branch-named.status.lxo">
  23.263 +<!ENTITY interaction.branch-named.update-bar SYSTEM "results/branch-named.update-bar.lxo">
  23.264 +<!ENTITY interaction.branch-named.update-nothing SYSTEM "results/branch-named.update-nothing.lxo">
  23.265 +<!ENTITY interaction.branch-named.update-switchy SYSTEM "results/branch-named.update-switchy.lxo">
  23.266 +<!ENTITY interaction.branch-repo.bugfix SYSTEM "results/branch-repo.bugfix.lxo">
  23.267 +<!ENTITY interaction.branch-repo.clone SYSTEM "results/branch-repo.clone.lxo">
  23.268 +<!ENTITY interaction.branch-repo.merge SYSTEM "results/branch-repo.merge.lxo">
  23.269 +<!ENTITY interaction.branch-repo.new SYSTEM "results/branch-repo.new.lxo">
  23.270 +<!ENTITY interaction.branch-repo.pull SYSTEM "results/branch-repo.pull.lxo">
  23.271 +<!ENTITY interaction.branch-repo.tag SYSTEM "results/branch-repo.tag.lxo">
  23.272 +<!ENTITY interaction.branching.clone SYSTEM "results/branching.clone.lxo">
  23.273 +<!ENTITY interaction.branching.init SYSTEM "results/branching.init.lxo">
  23.274 +<!ENTITY interaction.branching.main SYSTEM "results/branching.main.lxo">
  23.275 +<!ENTITY interaction.branching.merge SYSTEM "results/branching.merge.lxo">
  23.276 +<!ENTITY interaction.branching.stable SYSTEM "results/branching.stable.lxo">
  23.277 +<!ENTITY interaction.branching.tag SYSTEM "results/branching.tag.lxo">
  23.278 +<!ENTITY interaction.branching.update SYSTEM "results/branching.update.lxo">
  23.279 +<!ENTITY interaction.cmdref.diff-p SYSTEM "results/cmdref.diff-p.lxo">
  23.280 +<!ENTITY interaction.daily.copy.after SYSTEM "results/daily.copy.after.lxo">
  23.281 +<!ENTITY interaction.daily.copy.cat SYSTEM "results/daily.copy.cat.lxo">
  23.282 +<!ENTITY interaction.daily.copy.clone SYSTEM "results/daily.copy.clone.lxo">
  23.283 +<!ENTITY interaction.daily.copy.copy SYSTEM "results/daily.copy.copy.lxo">
  23.284 +<!ENTITY interaction.daily.copy.dir-dest SYSTEM "results/daily.copy.dir-dest.lxo">
  23.285 +<!ENTITY interaction.daily.copy.dir-src SYSTEM "results/daily.copy.dir-src.lxo">
  23.286 +<!ENTITY interaction.daily.copy.dir-src-dest SYSTEM "results/daily.copy.dir-src-dest.lxo">
  23.287 +<!ENTITY interaction.daily.copy.init SYSTEM "results/daily.copy.init.lxo">
  23.288 +<!ENTITY interaction.daily.copy.merge SYSTEM "results/daily.copy.merge.lxo">
  23.289 +<!ENTITY interaction.daily.copy.other SYSTEM "results/daily.copy.other.lxo">
  23.290 +<!ENTITY interaction.daily.copy.simple SYSTEM "results/daily.copy.simple.lxo">
  23.291 +<!ENTITY interaction.daily.copy.status SYSTEM "results/daily.copy.status.lxo">
  23.292 +<!ENTITY interaction.daily.copy.status-copy SYSTEM "results/daily.copy.status-copy.lxo">
  23.293 +<!ENTITY interaction.daily.files.add SYSTEM "results/daily.files.add.lxo">
  23.294 +<!ENTITY interaction.daily.files.add-dir SYSTEM "results/daily.files.add-dir.lxo">
  23.295 +<!ENTITY interaction.daily.files.addremove SYSTEM "results/daily.files.addremove.lxo">
  23.296 +<!ENTITY interaction.daily.files.commit-addremove SYSTEM "results/daily.files.commit-addremove.lxo">
  23.297 +<!ENTITY interaction.daily.files.hidden SYSTEM "results/daily.files.hidden.lxo">
  23.298 +<!ENTITY interaction.daily.files.missing SYSTEM "results/daily.files.missing.lxo">
  23.299 +<!ENTITY interaction.daily.files.recover-missing SYSTEM "results/daily.files.recover-missing.lxo">
  23.300 +<!ENTITY interaction.daily.files.remove SYSTEM "results/daily.files.remove.lxo">
  23.301 +<!ENTITY interaction.daily.files.remove-after SYSTEM "results/daily.files.remove-after.lxo">
  23.302 +<!ENTITY interaction.daily.rename.rename SYSTEM "results/daily.rename.rename.lxo">
  23.303 +<!ENTITY interaction.daily.rename.status SYSTEM "results/daily.rename.status.lxo">
  23.304 +<!ENTITY interaction.daily.rename.status-copy SYSTEM "results/daily.rename.status-copy.lxo">
  23.305 +<!ENTITY interaction.daily.revert.add SYSTEM "results/daily.revert.add.lxo">
  23.306 +<!ENTITY interaction.daily.revert.copy SYSTEM "results/daily.revert.copy.lxo">
  23.307 +<!ENTITY interaction.daily.revert.missing SYSTEM "results/daily.revert.missing.lxo">
  23.308 +<!ENTITY interaction.daily.revert.modify SYSTEM "results/daily.revert.modify.lxo">
  23.309 +<!ENTITY interaction.daily.revert.remove SYSTEM "results/daily.revert.remove.lxo">
  23.310 +<!ENTITY interaction.daily.revert.rename SYSTEM "results/daily.revert.rename.lxo">
  23.311 +<!ENTITY interaction.daily.revert.rename-orig SYSTEM "results/daily.revert.rename-orig.lxo">
  23.312 +<!ENTITY interaction.daily.revert.status SYSTEM "results/daily.revert.status.lxo">
  23.313 +<!ENTITY interaction.daily.revert.unmodify SYSTEM "results/daily.revert.unmodify.lxo">
  23.314 +<!ENTITY interaction.extdiff.diff SYSTEM "results/extdiff.diff.lxo">
  23.315 +<!ENTITY interaction.extdiff.extdiff SYSTEM "results/extdiff.extdiff.lxo">
  23.316 +<!ENTITY interaction.extdiff.extdiff-ctx SYSTEM "results/extdiff.extdiff-ctx.lxo">
  23.317 +<!ENTITY interaction.filenames.dirs SYSTEM "results/filenames.dirs.lxo">
  23.318 +<!ENTITY interaction.filenames.files SYSTEM "results/filenames.files.lxo">
  23.319 +<!ENTITY interaction.filenames.filter.exclude SYSTEM "results/filenames.filter.exclude.lxo">
  23.320 +<!ENTITY interaction.filenames.filter.include SYSTEM "results/filenames.filter.include.lxo">
  23.321 +<!ENTITY interaction.filenames.glob.group SYSTEM "results/filenames.glob.group.lxo">
  23.322 +<!ENTITY interaction.filenames.glob.question SYSTEM "results/filenames.glob.question.lxo">
  23.323 +<!ENTITY interaction.filenames.glob.range SYSTEM "results/filenames.glob.range.lxo">
  23.324 +<!ENTITY interaction.filenames.glob.star SYSTEM "results/filenames.glob.star.lxo">
  23.325 +<!ENTITY interaction.filenames.glob.star-starstar SYSTEM "results/filenames.glob.star-starstar.lxo">
  23.326 +<!ENTITY interaction.filenames.glob.starstar SYSTEM "results/filenames.glob.starstar.lxo">
  23.327 +<!ENTITY interaction.filenames.wdir-relname SYSTEM "results/filenames.wdir-relname.lxo">
  23.328 +<!ENTITY interaction.filenames.wdir-subdir SYSTEM "results/filenames.wdir-subdir.lxo">
  23.329 +<!ENTITY interaction.hook.msglen.go SYSTEM "results/hook.msglen.go.lxo">
  23.330 +<!ENTITY interaction.hook.simple.ext SYSTEM "results/hook.simple.ext.lxo">
  23.331 +<!ENTITY interaction.hook.simple.init SYSTEM "results/hook.simple.init.lxo">
  23.332 +<!ENTITY interaction.hook.simple.pretxncommit SYSTEM "results/hook.simple.pretxncommit.lxo">
  23.333 +<!ENTITY interaction.hook.ws.better SYSTEM "results/hook.ws.better.lxo">
  23.334 +<!ENTITY interaction.hook.ws.simple SYSTEM "results/hook.ws.simple.lxo">
  23.335 +<!ENTITY interaction.issue29.go SYSTEM "results/issue29.go.lxo">
  23.336 +<!ENTITY interaction.mq.dodiff.diff SYSTEM "results/mq.dodiff.diff.lxo">
  23.337 +<!ENTITY interaction.mq.guards.init SYSTEM "results/mq.guards.init.lxo">
  23.338 +<!ENTITY interaction.mq.guards.qguard SYSTEM "results/mq.guards.qguard.lxo">
  23.339 +<!ENTITY interaction.mq.guards.qguard.neg SYSTEM "results/mq.guards.qguard.neg.lxo">
  23.340 +<!ENTITY interaction.mq.guards.qguard.pos SYSTEM "results/mq.guards.qguard.pos.lxo">
  23.341 +<!ENTITY interaction.mq.guards.qselect.cat SYSTEM "results/mq.guards.qselect.cat.lxo">
  23.342 +<!ENTITY interaction.mq.guards.qselect.error SYSTEM "results/mq.guards.qselect.error.lxo">
  23.343 +<!ENTITY interaction.mq.guards.qselect.foo SYSTEM "results/mq.guards.qselect.foo.lxo">
  23.344 +<!ENTITY interaction.mq.guards.qselect.foobar SYSTEM "results/mq.guards.qselect.foobar.lxo">
  23.345 +<!ENTITY interaction.mq.guards.qselect.qpush SYSTEM "results/mq.guards.qselect.qpush.lxo">
  23.346 +<!ENTITY interaction.mq.guards.qselect.quux SYSTEM "results/mq.guards.qselect.quux.lxo">
  23.347 +<!ENTITY interaction.mq.guards.series SYSTEM "results/mq.guards.series.lxo">
  23.348 +<!ENTITY interaction.mq.id.lxoput SYSTEM "results/mq.id.lxoput.lxo">
  23.349 +<!ENTITY interaction.mq.id.output SYSTEM "results/mq.id.output.lxo">
  23.350 +<!ENTITY interaction.mq.qinit-help.help SYSTEM "results/mq.qinit-help.help.lxo">
  23.351 +<!ENTITY interaction.mq.tarball.download SYSTEM "results/mq.tarball.download.lxo">
  23.352 +<!ENTITY interaction.mq.tarball.newsource SYSTEM "results/mq.tarball.newsource.lxo">
  23.353 +<!ENTITY interaction.mq.tarball.qinit SYSTEM "results/mq.tarball.qinit.lxo">
  23.354 +<!ENTITY interaction.mq.tarball.repush SYSTEM "results/mq.tarball.repush.lxo">
  23.355 +<!ENTITY interaction.mq.tools.lsdiff SYSTEM "results/mq.tools.lsdiff.lxo">
  23.356 +<!ENTITY interaction.mq.tools.tools SYSTEM "results/mq.tools.tools.lxo">
  23.357 +<!ENTITY interaction.mq.tutorial.add SYSTEM "results/mq.tutorial.add.lxo">
  23.358 +<!ENTITY interaction.mq.tutorial.qinit SYSTEM "results/mq.tutorial.qinit.lxo">
  23.359 +<!ENTITY interaction.mq.tutorial.qnew SYSTEM "results/mq.tutorial.qnew.lxo">
  23.360 +<!ENTITY interaction.mq.tutorial.qnew2 SYSTEM "results/mq.tutorial.qnew2.lxo">
  23.361 +<!ENTITY interaction.mq.tutorial.qpop SYSTEM "results/mq.tutorial.qpop.lxo">
  23.362 +<!ENTITY interaction.mq.tutorial.qpush-a SYSTEM "results/mq.tutorial.qpush-a.lxo">
  23.363 +<!ENTITY interaction.mq.tutorial.qrefresh SYSTEM "results/mq.tutorial.qrefresh.lxo">
  23.364 +<!ENTITY interaction.mq.tutorial.qrefresh2 SYSTEM "results/mq.tutorial.qrefresh2.lxo">
  23.365 +<!ENTITY interaction.mq.tutorial.qseries SYSTEM "results/mq.tutorial.qseries.lxo">
  23.366 +<!ENTITY interaction.rename.divergent.clone SYSTEM "results/rename.divergent.clone.lxo">
  23.367 +<!ENTITY interaction.rename.divergent.merge SYSTEM "results/rename.divergent.merge.lxo">
  23.368 +<!ENTITY interaction.rename.divergent.rename.anne SYSTEM "results/rename.divergent.rename.anne.lxo">
  23.369 +<!ENTITY interaction.rename.divergent.rename.bob SYSTEM "results/rename.divergent.rename.bob.lxo">
  23.370 +<!ENTITY interaction.rollback.add SYSTEM "results/rollback.add.lxo">
  23.371 +<!ENTITY interaction.rollback.commit SYSTEM "results/rollback.commit.lxo">
  23.372 +<!ENTITY interaction.rollback.rollback SYSTEM "results/rollback.rollback.lxo">
  23.373 +<!ENTITY interaction.rollback.status SYSTEM "results/rollback.status.lxo">
  23.374 +<!ENTITY interaction.rollback.tip SYSTEM "results/rollback.tip.lxo">
  23.375 +<!ENTITY interaction.rollback.twice SYSTEM "results/rollback.twice.lxo">
  23.376 +<!ENTITY interaction.tag.init SYSTEM "results/tag.init.lxo">
  23.377 +<!ENTITY interaction.tag.log SYSTEM "results/tag.log.lxo">
  23.378 +<!ENTITY interaction.tag.log.v1.0 SYSTEM "results/tag.log.v1.0.lxo">
  23.379 +<!ENTITY interaction.tag.remove SYSTEM "results/tag.remove.lxo">
  23.380 +<!ENTITY interaction.tag.replace SYSTEM "results/tag.replace.lxo">
  23.381 +<!ENTITY interaction.tag.tag SYSTEM "results/tag.tag.lxo">
  23.382 +<!ENTITY interaction.tag.tags SYSTEM "results/tag.tags.lxo">
  23.383 +<!ENTITY interaction.tag.tip SYSTEM "results/tag.tip.lxo">
  23.384 +<!ENTITY interaction.template.simple.changelog SYSTEM "results/template.simple.changelog.lxo">
  23.385 +<!ENTITY interaction.template.simple.combine SYSTEM "results/template.simple.combine.lxo">
  23.386 +<!ENTITY interaction.template.simple.compact SYSTEM "results/template.simple.compact.lxo">
  23.387 +<!ENTITY interaction.template.simple.datekeyword SYSTEM "results/template.simple.datekeyword.lxo">
  23.388 +<!ENTITY interaction.template.simple.keywords SYSTEM "results/template.simple.keywords.lxo">
  23.389 +<!ENTITY interaction.template.simple.manyfilters SYSTEM "results/template.simple.manyfilters.lxo">
  23.390 +<!ENTITY interaction.template.simple.normal SYSTEM "results/template.simple.normal.lxo">
  23.391 +<!ENTITY interaction.template.simple.rev SYSTEM "results/template.simple.rev.lxo">
  23.392 +<!ENTITY interaction.template.simple.simplest SYSTEM "results/template.simple.simplest.lxo">
  23.393 +<!ENTITY interaction.template.simple.simplesub SYSTEM "results/template.simple.simplesub.lxo">
  23.394 +<!ENTITY interaction.template.svnstyle.id SYSTEM "results/template.svnstyle.id.lxo">
  23.395 +<!ENTITY interaction.template.svnstyle.result SYSTEM "results/template.svnstyle.result.lxo">
  23.396 +<!ENTITY interaction.template.svnstyle.short SYSTEM "results/template.svnstyle.short.lxo">
  23.397 +<!ENTITY interaction.template.svnstyle.simplest SYSTEM "results/template.svnstyle.simplest.lxo">
  23.398 +<!ENTITY interaction.template.svnstyle.style SYSTEM "results/template.svnstyle.style.lxo">
  23.399 +<!ENTITY interaction.template.svnstyle.syntax.error SYSTEM "results/template.svnstyle.syntax.error.lxo">
  23.400 +<!ENTITY interaction.template.svnstyle.syntax.input SYSTEM "results/template.svnstyle.syntax.input.lxo">
  23.401 +<!ENTITY interaction.template.svnstyle.template SYSTEM "results/template.svnstyle.template.lxo">
  23.402 +<!ENTITY interaction.tour-merge-conflict.commit SYSTEM "results/tour-merge-conflict.commit.lxo">
  23.403 +<!ENTITY interaction.tour-merge-conflict.cousin SYSTEM "results/tour-merge-conflict.cousin.lxo">
  23.404 +<!ENTITY interaction.tour-merge-conflict.merge SYSTEM "results/tour-merge-conflict.merge.lxo">
  23.405 +<!ENTITY interaction.tour-merge-conflict.pull SYSTEM "results/tour-merge-conflict.pull.lxo">
  23.406 +<!ENTITY interaction.tour-merge-conflict.son SYSTEM "results/tour-merge-conflict.son.lxo">
  23.407 +<!ENTITY interaction.tour-merge-conflict.wife SYSTEM "results/tour-merge-conflict.wife.lxo">
  23.408 +<!ENTITY interaction.tour.clone SYSTEM "results/tour.clone.lxo">
  23.409 +<!ENTITY interaction.tour.clone-pull SYSTEM "results/tour.clone-pull.lxo">
  23.410 +<!ENTITY interaction.tour.clone-push SYSTEM "results/tour.clone-push.lxo">
  23.411 +<!ENTITY interaction.tour.commit SYSTEM "results/tour.commit.lxo">
  23.412 +<!ENTITY interaction.tour.diff SYSTEM "results/tour.diff.lxo">
  23.413 +<!ENTITY interaction.tour.help SYSTEM "results/tour.help.lxo">
  23.414 +<!ENTITY interaction.tour.incoming SYSTEM "results/tour.incoming.lxo">
  23.415 +<!ENTITY interaction.tour.log SYSTEM "results/tour.log.lxo">
  23.416 +<!ENTITY interaction.tour.log-r SYSTEM "results/tour.log-r.lxo">
  23.417 +<!ENTITY interaction.tour.log-v SYSTEM "results/tour.log-v.lxo">
  23.418 +<!ENTITY interaction.tour.log-vp SYSTEM "results/tour.log-vp.lxo">
  23.419 +<!ENTITY interaction.tour.log.range SYSTEM "results/tour.log.range.lxo">
  23.420 +<!ENTITY interaction.tour.ls SYSTEM "results/tour.ls.lxo">
  23.421 +<!ENTITY interaction.tour.ls-a SYSTEM "results/tour.ls-a.lxo">
  23.422 +<!ENTITY interaction.tour.lxogoing SYSTEM "results/tour.lxogoing.lxo">
  23.423 +<!ENTITY interaction.tour.lxogoing.net SYSTEM "results/tour.lxogoing.net.lxo">
  23.424 +<!ENTITY interaction.tour.merge.cat SYSTEM "results/tour.merge.cat.lxo">
  23.425 +<!ENTITY interaction.tour.merge.clone SYSTEM "results/tour.merge.clone.lxo">
  23.426 +<!ENTITY interaction.tour.merge.commit SYSTEM "results/tour.merge.commit.lxo">
  23.427 +<!ENTITY interaction.tour.merge.dummy1 SYSTEM "results/tour.merge.dummy1.lxo">
  23.428 +<!ENTITY interaction.tour.merge.dummy2 SYSTEM "results/tour.merge.dummy2.lxo">
  23.429 +<!ENTITY interaction.tour.merge.dummy3 SYSTEM "results/tour.merge.dummy3.lxo">
  23.430 +<!ENTITY interaction.tour.merge.dummy4 SYSTEM "results/tour.merge.dummy4.lxo">
  23.431 +<!ENTITY interaction.tour.merge.heads SYSTEM "results/tour.merge.heads.lxo">
  23.432 +<!ENTITY interaction.tour.merge.merge SYSTEM "results/tour.merge.merge.lxo">
  23.433 +<!ENTITY interaction.tour.merge.parents SYSTEM "results/tour.merge.parents.lxo">
  23.434 +<!ENTITY interaction.tour.merge.pull SYSTEM "results/tour.merge.pull.lxo">
  23.435 +<!ENTITY interaction.tour.merge.tip SYSTEM "results/tour.merge.tip.lxo">
  23.436 +<!ENTITY interaction.tour.merge.update SYSTEM "results/tour.merge.update.lxo">
  23.437 +<!ENTITY interaction.tour.older SYSTEM "results/tour.older.lxo">
  23.438 +<!ENTITY interaction.tour.outgoing SYSTEM "results/tour.outgoing.lxo">
  23.439 +<!ENTITY interaction.tour.outgoing.net SYSTEM "results/tour.outgoing.net.lxo">
  23.440 +<!ENTITY interaction.tour.parents SYSTEM "results/tour.parents.lxo">
  23.441 +<!ENTITY interaction.tour.pull SYSTEM "results/tour.pull.lxo">
  23.442 +<!ENTITY interaction.tour.push SYSTEM "results/tour.push.lxo">
  23.443 +<!ENTITY interaction.tour.push.net SYSTEM "results/tour.push.net.lxo">
  23.444 +<!ENTITY interaction.tour.push.nothing SYSTEM "results/tour.push.nothing.lxo">
  23.445 +<!ENTITY interaction.tour.reclone SYSTEM "results/tour.reclone.lxo">
  23.446 +<!ENTITY interaction.tour.sed SYSTEM "results/tour.sed.lxo">
  23.447 +<!ENTITY interaction.tour.status SYSTEM "results/tour.status.lxo">
  23.448 +<!ENTITY interaction.tour.tip SYSTEM "results/tour.tip.lxo">
  23.449 +<!ENTITY interaction.tour.update SYSTEM "results/tour.update.lxo">
  23.450 +<!ENTITY interaction.tour.version SYSTEM "results/tour.version.lxo">
    24.1 --- a/en/examples/results/backout.init.out	Fri Mar 20 17:17:55 2009 +0800
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,8 +0,0 @@
    24.4 -<screen><prompt>$</prompt> <userinput>hg init myrepo</userinput>
    24.5 -<prompt>$</prompt> <userinput>cd myrepo</userinput>
    24.6 -<prompt>$</prompt> <userinput>echo first change &gt;&gt; myfile</userinput>
    24.7 -<prompt>$</prompt> <userinput>hg add myfile</userinput>
    24.8 -<prompt>$</prompt> <userinput>hg commit -m 'first change'</userinput>
    24.9 -<prompt>$</prompt> <userinput>echo second change &gt;&gt; myfile</userinput>
   24.10 -<prompt>$</prompt> <userinput>hg commit -m 'second change'</userinput>
   24.11 -</screen>
    25.1 --- a/en/examples/results/backout.manual.backout.out	Fri Mar 20 17:17:55 2009 +0800
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,9 +0,0 @@
    25.4 -<screen><prompt>$</prompt> <userinput>echo third change &gt;&gt; myfile</userinput>
    25.5 -<prompt>$</prompt> <userinput>hg commit -m 'third change'</userinput>
    25.6 -<prompt>$</prompt> <userinput>hg backout -m 'back out second change' 1</userinput>
    25.7 -reverting myfile
    25.8 -created new head
    25.9 -changeset  backs out changeset 
   25.10 -the backout changeset is a new head - do not forget to merge
   25.11 -(use "backout --merge" if you want to auto-merge)
   25.12 -</screen>
    26.1 --- a/en/examples/results/backout.manual.cat.out	Fri Mar 20 17:17:55 2009 +0800
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,5 +0,0 @@
    26.4 -<screen><prompt>$</prompt> <userinput>cat myfile</userinput>
    26.5 -first change
    26.6 -second change
    26.7 -third change
    26.8 -</screen>
    27.1 --- a/en/examples/results/backout.manual.clone.out	Fri Mar 20 17:17:55 2009 +0800
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,11 +0,0 @@
    27.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    27.5 -<prompt>$</prompt> <userinput>hg clone -r1 myrepo newrepo</userinput>
    27.6 -requesting all changes
    27.7 -adding changesets
    27.8 -adding manifests
    27.9 -adding file changes
   27.10 -added 2 changesets with 2 changes to 1 files
   27.11 -updating working directory
   27.12 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   27.13 -<prompt>$</prompt> <userinput>cd newrepo</userinput>
   27.14 -</screen>
    28.1 --- a/en/examples/results/backout.manual.heads.out	Fri Mar 20 17:17:55 2009 +0800
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,14 +0,0 @@
    28.4 -<screen><prompt>$</prompt> <userinput>hg heads</userinput>
    28.5 -changeset:   
    28.6 -tag:         tip
    28.7 -parent:      
    28.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    28.9 -
   28.10 -summary:     back out second change
   28.11 -
   28.12 -changeset:   
   28.13 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   28.14 -
   28.15 -summary:     third change
   28.16 -
   28.17 -</screen>
    29.1 --- a/en/examples/results/backout.manual.log.out	Fri Mar 20 17:17:55 2009 +0800
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,14 +0,0 @@
    29.4 -<screen><prompt>$</prompt> <userinput>hg log --style compact</userinput>
    29.5 -3[tip]:1      2009-03-10 04:37 +0000   bos
    29.6 -  back out second change
    29.7 -
    29.8 -2      2009-03-10 04:37 +0000   bos
    29.9 -  third change
   29.10 -
   29.11 -1      2009-03-10 04:37 +0000   bos
   29.12 -  second change
   29.13 -
   29.14 -0      2009-03-10 04:37 +0000   bos
   29.15 -  first change
   29.16 -
   29.17 -</screen>
    30.1 --- a/en/examples/results/backout.manual.merge.out	Fri Mar 20 17:17:55 2009 +0800
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,9 +0,0 @@
    30.4 -<screen><prompt>$</prompt> <userinput>hg merge</userinput>
    30.5 -merging myfile
    30.6 -0 files updated, 1 files merged, 0 files removed, 0 files unresolved
    30.7 -(branch merge, don't forget to commit)
    30.8 -<prompt>$</prompt> <userinput>hg commit -m 'merged backout with previous tip'</userinput>
    30.9 -<prompt>$</prompt> <userinput>cat myfile</userinput>
   30.10 -first change
   30.11 -third change
   30.12 -</screen>
    31.1 --- a/en/examples/results/backout.manual.parents.out	Fri Mar 20 17:17:55 2009 +0800
    31.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.3 @@ -1,7 +0,0 @@
    31.4 -<screen><prompt>$</prompt> <userinput>hg parents</userinput>
    31.5 -changeset:   
    31.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    31.7 -
    31.8 -summary:     third change
    31.9 -
   31.10 -</screen>
    32.1 --- a/en/examples/results/backout.non-tip.backout.out	Fri Mar 20 17:17:55 2009 +0800
    32.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.3 @@ -1,11 +0,0 @@
    32.4 -<screen><prompt>$</prompt> <userinput>echo third change &gt;&gt; myfile</userinput>
    32.5 -<prompt>$</prompt> <userinput>hg commit -m 'third change'</userinput>
    32.6 -<prompt>$</prompt> <userinput>hg backout --merge -m 'back out second change' 1</userinput>
    32.7 -reverting myfile
    32.8 -created new head
    32.9 -changeset  backs out changeset 
   32.10 -merging with changeset 
   32.11 -merging myfile
   32.12 -0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   32.13 -(branch merge, don't forget to commit)
   32.14 -</screen>
    33.1 --- a/en/examples/results/backout.non-tip.cat.out	Fri Mar 20 17:17:55 2009 +0800
    33.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.3 @@ -1,4 +0,0 @@
    33.4 -<screen><prompt>$</prompt> <userinput>cat myfile</userinput>
    33.5 -first change
    33.6 -third change
    33.7 -</screen>
    34.1 --- a/en/examples/results/backout.non-tip.clone.out	Fri Mar 20 17:17:55 2009 +0800
    34.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.3 @@ -1,11 +0,0 @@
    34.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    34.5 -<prompt>$</prompt> <userinput>hg clone -r1 myrepo non-tip-repo</userinput>
    34.6 -requesting all changes
    34.7 -adding changesets
    34.8 -adding manifests
    34.9 -adding file changes
   34.10 -added 2 changesets with 2 changes to 1 files
   34.11 -updating working directory
   34.12 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   34.13 -<prompt>$</prompt> <userinput>cd non-tip-repo</userinput>
   34.14 -</screen>
    35.1 --- a/en/examples/results/backout.simple.log.out	Fri Mar 20 17:17:55 2009 +0800
    35.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.3 @@ -1,11 +0,0 @@
    35.4 -<screen><prompt>$</prompt> <userinput>hg log --style compact</userinput>
    35.5 -2[tip]      2009-03-10 04:37 +0000   bos
    35.6 -  back out second change
    35.7 -
    35.8 -1      2009-03-10 04:37 +0000   bos
    35.9 -  second change
   35.10 -
   35.11 -0      2009-03-10 04:37 +0000   bos
   35.12 -  first change
   35.13 -
   35.14 -</screen>
    36.1 --- a/en/examples/results/backout.simple.out	Fri Mar 20 17:17:55 2009 +0800
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,6 +0,0 @@
    36.4 -<screen><prompt>$</prompt> <userinput>hg backout -m 'back out second change' tip</userinput>
    36.5 -reverting myfile
    36.6 -changeset  backs out changeset 
    36.7 -<prompt>$</prompt> <userinput>cat myfile</userinput>
    36.8 -first change
    36.9 -</screen>
    37.1 --- a/en/examples/results/bisect.commits.out	Fri Mar 20 17:17:55 2009 +0800
    37.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.3 @@ -1,11 +0,0 @@
    37.4 -
    37.5 -
    37.6 -
    37.7 -
    37.8 -
    37.9 -
   37.10 -
   37.11 -
   37.12 -
   37.13 -
   37.14 -
    38.1 --- a/en/examples/results/bisect.help.out	Fri Mar 20 17:17:55 2009 +0800
    38.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.3 @@ -1,34 +0,0 @@
    38.4 -
    38.5 -
    38.6 -
    38.7 -
    38.8 -
    38.9 -
   38.10 -
   38.11 -
   38.12 -
   38.13 -
   38.14 -
   38.15 -
   38.16 -
   38.17 -
   38.18 -
   38.19 -
   38.20 -
   38.21 -
   38.22 -
   38.23 -
   38.24 -
   38.25 -
   38.26 -
   38.27 -
   38.28 -
   38.29 -
   38.30 -
   38.31 -
   38.32 -
   38.33 -
   38.34 -
   38.35 -
   38.36 -
   38.37 -
    39.1 --- a/en/examples/results/bisect.init.out	Fri Mar 20 17:17:55 2009 +0800
    39.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.3 @@ -1,3 +0,0 @@
    39.4 -
    39.5 -
    39.6 -
    40.1 --- a/en/examples/results/bisect.search.bad-init.out	Fri Mar 20 17:17:55 2009 +0800
    40.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.3 @@ -1,3 +0,0 @@
    40.4 -
    40.5 -
    40.6 -
    41.1 --- a/en/examples/results/bisect.search.good-init.out	Fri Mar 20 17:17:55 2009 +0800
    41.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.3 @@ -1,5 +0,0 @@
    41.4 -
    41.5 -
    41.6 -
    41.7 -
    41.8 -
    42.1 --- a/en/examples/results/bisect.search.init.out	Fri Mar 20 17:17:55 2009 +0800
    42.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.3 @@ -1,3 +0,0 @@
    42.4 -
    42.5 -
    42.6 -
    43.1 --- a/en/examples/results/bisect.search.mytest.out	Fri Mar 20 17:17:55 2009 +0800
    43.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.3 @@ -1,11 +0,0 @@
    43.4 -
    43.5 -
    43.6 -
    43.7 -
    43.8 -
    43.9 -
   43.10 -
   43.11 -
   43.12 -
   43.13 -
   43.14 -
    44.1 --- a/en/examples/results/bisect.search.reset.out	Fri Mar 20 17:17:55 2009 +0800
    44.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.3 @@ -1,3 +0,0 @@
    44.4 -
    44.5 -
    44.6 -
    45.1 --- a/en/examples/results/bisect.search.rest.out	Fri Mar 20 17:17:55 2009 +0800
    45.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.3 @@ -1,20 +0,0 @@
    45.4 -
    45.5 -
    45.6 -
    45.7 -
    45.8 -
    45.9 -
   45.10 -
   45.11 -
   45.12 -
   45.13 -
   45.14 -
   45.15 -
   45.16 -
   45.17 -
   45.18 -
   45.19 -
   45.20 -
   45.21 -
   45.22 -
   45.23 -
    46.1 --- a/en/examples/results/bisect.search.step1.out	Fri Mar 20 17:17:55 2009 +0800
    46.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.3 @@ -1,12 +0,0 @@
    46.4 -
    46.5 -
    46.6 -
    46.7 -
    46.8 -
    46.9 -
   46.10 -
   46.11 -
   46.12 -
   46.13 -
   46.14 -
   46.15 -
    47.1 --- a/en/examples/results/bisect.search.step2.out	Fri Mar 20 17:17:55 2009 +0800
    47.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.3 @@ -1,6 +0,0 @@
    47.4 -
    47.5 -
    47.6 -
    47.7 -
    47.8 -
    47.9 -
    48.1 --- a/en/examples/results/branch-named.branch.out	Fri Mar 20 17:17:55 2009 +0800
    48.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.3 @@ -1,3 +0,0 @@
    48.4 -<screen><prompt>$</prompt> <userinput>hg branch</userinput>
    48.5 -default
    48.6 -</screen>
    49.1 --- a/en/examples/results/branch-named.branches.out	Fri Mar 20 17:17:55 2009 +0800
    49.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.3 @@ -1,10 +0,0 @@
    49.4 -<screen><prompt>$</prompt> <userinput>hg tip</userinput>
    49.5 -changeset:   
    49.6 -tag:         tip
    49.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    49.8 -
    49.9 -summary:     Initial commit
   49.10 -
   49.11 -<prompt>$</prompt> <userinput>hg branches</userinput>
   49.12 -default                        
   49.13 -</screen>
    50.1 --- a/en/examples/results/branch-named.commit.out	Fri Mar 20 17:17:55 2009 +0800
    50.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    50.3 @@ -1,11 +0,0 @@
    50.4 -<screen><prompt>$</prompt> <userinput>echo 'hello again' &gt;&gt; myfile</userinput>
    50.5 -<prompt>$</prompt> <userinput>hg commit -m 'Second commit'</userinput>
    50.6 -<prompt>$</prompt> <userinput>hg tip</userinput>
    50.7 -changeset:   
    50.8 -branch:      foo
    50.9 -tag:         tip
   50.10 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   50.11 -
   50.12 -summary:     Second commit
   50.13 -
   50.14 -</screen>
    51.1 --- a/en/examples/results/branch-named.create.out	Fri Mar 20 17:17:55 2009 +0800
    51.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.3 @@ -1,5 +0,0 @@
    51.4 -<screen><prompt>$</prompt> <userinput>hg branch foo</userinput>
    51.5 -marked working directory as branch foo
    51.6 -<prompt>$</prompt> <userinput>hg branch</userinput>
    51.7 -foo
    51.8 -</screen>
    52.1 --- a/en/examples/results/branch-named.foo-commit.out	Fri Mar 20 17:17:55 2009 +0800
    52.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.3 @@ -1,20 +0,0 @@
    52.4 -<screen><prompt>$</prompt> <userinput>echo something &gt; somefile</userinput>
    52.5 -<prompt>$</prompt> <userinput>hg commit -A -m 'New file'</userinput>
    52.6 -adding somefile
    52.7 -created new head
    52.8 -<prompt>$</prompt> <userinput>hg heads</userinput>
    52.9 -changeset:   
   52.10 -branch:      foo
   52.11 -tag:         tip
   52.12 -parent:      
   52.13 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   52.14 -
   52.15 -summary:     New file
   52.16 -
   52.17 -changeset:   
   52.18 -branch:      bar
   52.19 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   52.20 -
   52.21 -summary:     Third commit
   52.22 -
   52.23 -</screen>
    53.1 --- a/en/examples/results/branch-named.merge.out	Fri Mar 20 17:17:55 2009 +0800
    53.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.3 @@ -1,17 +0,0 @@
    53.4 -<screen><prompt>$</prompt> <userinput>hg branch</userinput>
    53.5 -bar
    53.6 -<prompt>$</prompt> <userinput>hg merge foo</userinput>
    53.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    53.8 -(branch merge, don't forget to commit)
    53.9 -<prompt>$</prompt> <userinput>hg commit -m 'Merge'</userinput>
   53.10 -<prompt>$</prompt> <userinput>hg tip</userinput>
   53.11 -changeset:   
   53.12 -branch:      bar
   53.13 -tag:         tip
   53.14 -parent:      
   53.15 -parent:      
   53.16 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   53.17 -
   53.18 -summary:     Merge
   53.19 -
   53.20 -</screen>
    54.1 --- a/en/examples/results/branch-named.parents.out	Fri Mar 20 17:17:55 2009 +0800
    54.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.3 @@ -1,13 +0,0 @@
    54.4 -<screen><prompt>$</prompt> <userinput>hg parents</userinput>
    54.5 -changeset:   
    54.6 -branch:      bar
    54.7 -tag:         tip
    54.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    54.9 -
   54.10 -summary:     Third commit
   54.11 -
   54.12 -<prompt>$</prompt> <userinput>hg branches</userinput>
   54.13 -bar                            
   54.14 -foo                             (inactive)
   54.15 -default                         (inactive)
   54.16 -</screen>
    55.1 --- a/en/examples/results/branch-named.rebranch.out	Fri Mar 20 17:17:55 2009 +0800
    55.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    55.3 @@ -1,16 +0,0 @@
    55.4 -<screen><prompt>$</prompt> <userinput>hg branch</userinput>
    55.5 -foo
    55.6 -<prompt>$</prompt> <userinput>hg branch bar</userinput>
    55.7 -marked working directory as branch bar
    55.8 -<prompt>$</prompt> <userinput>echo new file &gt; newfile</userinput>
    55.9 -<prompt>$</prompt> <userinput>hg commit -A -m 'Third commit'</userinput>
   55.10 -adding newfile
   55.11 -<prompt>$</prompt> <userinput>hg tip</userinput>
   55.12 -changeset:   
   55.13 -branch:      bar
   55.14 -tag:         tip
   55.15 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   55.16 -
   55.17 -summary:     Third commit
   55.18 -
   55.19 -</screen>
    56.1 --- a/en/examples/results/branch-named.status.out	Fri Mar 20 17:17:55 2009 +0800
    56.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.3 @@ -1,9 +0,0 @@
    56.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
    56.5 -<prompt>$</prompt> <userinput>hg tip</userinput>
    56.6 -changeset:   
    56.7 -tag:         tip
    56.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    56.9 -
   56.10 -summary:     Initial commit
   56.11 -
   56.12 -</screen>
    57.1 --- a/en/examples/results/branch-named.update-bar.out	Fri Mar 20 17:17:55 2009 +0800
    57.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    57.3 @@ -1,3 +0,0 @@
    57.4 -<screen><prompt>$</prompt> <userinput>hg update bar</userinput>
    57.5 -1 files updated, 0 files merged, 1 files removed, 0 files unresolved
    57.6 -</screen>
    58.1 --- a/en/examples/results/branch-named.update-foo.out	Fri Mar 20 17:17:55 2009 +0800
    58.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    58.3 @@ -1,13 +0,0 @@
    58.4 -$ \textbf{hg update foo}
    58.5 -0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    58.6 -$ \textbf{hg update}
    58.7 -0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    58.8 -$ \textbf{hg parents}
    58.9 -changeset:   
   58.10 -branch:      foo
   58.11 -user:        Bryan O'Sullivan <bos@serpentine.com>
   58.12 -
   58.13 -summary:     Second commit
   58.14 -
   58.15 -$ \textbf{hg update bar}
   58.16 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    59.1 --- a/en/examples/results/branch-named.update-nothing.out	Fri Mar 20 17:17:55 2009 +0800
    59.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.3 @@ -1,5 +0,0 @@
    59.4 -<screen><prompt>$</prompt> <userinput>hg update foo</userinput>
    59.5 -0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    59.6 -<prompt>$</prompt> <userinput>hg update</userinput>
    59.7 -0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    59.8 -</screen>
    60.1 --- a/en/examples/results/branch-named.update-switchy.out	Fri Mar 20 17:17:55 2009 +0800
    60.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.3 @@ -1,20 +0,0 @@
    60.4 -<screen><prompt>$</prompt> <userinput>hg update foo</userinput>
    60.5 -0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    60.6 -<prompt>$</prompt> <userinput>hg parents</userinput>
    60.7 -changeset:   
    60.8 -branch:      foo
    60.9 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   60.10 -
   60.11 -summary:     Second commit
   60.12 -
   60.13 -<prompt>$</prompt> <userinput>hg update bar</userinput>
   60.14 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   60.15 -<prompt>$</prompt> <userinput>hg parents</userinput>
   60.16 -changeset:   
   60.17 -branch:      bar
   60.18 -tag:         tip
   60.19 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   60.20 -
   60.21 -summary:     Third commit
   60.22 -
   60.23 -</screen>
    61.1 --- a/en/examples/results/branch-named.update.out	Fri Mar 20 17:17:55 2009 +0800
    61.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.3 @@ -1,13 +0,0 @@
    61.4 -$ \textbf{hg update foo}
    61.5 -0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    61.6 -$ \textbf{hg update}
    61.7 -0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    61.8 -$ \textbf{hg parent}
    61.9 -changeset:   
   61.10 -branch:      foo
   61.11 -user:        Bryan O'Sullivan <bos@serpentine.com>
   61.12 -
   61.13 -summary:     Second commit
   61.14 -
   61.15 -$ \textbf{hg update bar}
   61.16 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    62.1 --- a/en/examples/results/branch-repo.bugfix.out	Fri Mar 20 17:17:55 2009 +0800
    62.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.3 @@ -1,14 +0,0 @@
    62.4 -<screen><prompt>$</prompt> <userinput>hg clone myproject-1.0.1 my-1.0.1-bugfix</userinput>
    62.5 -updating working directory
    62.6 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    62.7 -<prompt>$</prompt> <userinput>cd my-1.0.1-bugfix</userinput>
    62.8 -<prompt>$</prompt> <userinput>echo 'I fixed a bug using only echo!' &gt;&gt; myfile</userinput>
    62.9 -<prompt>$</prompt> <userinput>hg commit -m 'Important fix for 1.0.1'</userinput>
   62.10 -<prompt>$</prompt> <userinput>hg push</userinput>
   62.11 -pushing to 
   62.12 -searching for changes
   62.13 -adding changesets
   62.14 -adding manifests
   62.15 -adding file changes
   62.16 -added 1 changesets with 1 changes to 1 files
   62.17 -</screen>
    63.1 --- a/en/examples/results/branch-repo.clone.out	Fri Mar 20 17:17:55 2009 +0800
    63.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.3 @@ -1,5 +0,0 @@
    63.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    63.5 -<prompt>$</prompt> <userinput>hg clone myproject myproject-1.0.1</userinput>
    63.6 -updating working directory
    63.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    63.8 -</screen>
    64.1 --- a/en/examples/results/branch-repo.merge.out	Fri Mar 20 17:17:55 2009 +0800
    64.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.3 @@ -1,12 +0,0 @@
    64.4 -<screen><prompt>$</prompt> <userinput>hg merge</userinput>
    64.5 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    64.6 -(branch merge, don't forget to commit)
    64.7 -<prompt>$</prompt> <userinput>hg commit -m 'Merge bugfix from 1.0.1 branch'</userinput>
    64.8 -<prompt>$</prompt> <userinput>hg push</userinput>
    64.9 -pushing to 
   64.10 -searching for changes
   64.11 -adding changesets
   64.12 -adding manifests
   64.13 -adding file changes
   64.14 -added 2 changesets with 1 changes to 1 files
   64.15 -</screen>
    65.1 --- a/en/examples/results/branch-repo.new.out	Fri Mar 20 17:17:55 2009 +0800
    65.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.3 @@ -1,16 +0,0 @@
    65.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    65.5 -<prompt>$</prompt> <userinput>hg clone myproject my-feature</userinput>
    65.6 -updating working directory
    65.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    65.8 -<prompt>$</prompt> <userinput>cd my-feature</userinput>
    65.9 -<prompt>$</prompt> <userinput>echo 'This sure is an exciting new feature!' &gt; mynewfile</userinput>
   65.10 -<prompt>$</prompt> <userinput>hg commit -A -m 'New feature'</userinput>
   65.11 -adding mynewfile
   65.12 -<prompt>$</prompt> <userinput>hg push</userinput>
   65.13 -pushing to 
   65.14 -searching for changes
   65.15 -adding changesets
   65.16 -adding manifests
   65.17 -adding file changes
   65.18 -added 1 changesets with 1 changes to 1 files
   65.19 -</screen>
    66.1 --- a/en/examples/results/branch-repo.pull.out	Fri Mar 20 17:17:55 2009 +0800
    66.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    66.3 @@ -1,14 +0,0 @@
    66.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    66.5 -<prompt>$</prompt> <userinput>hg clone myproject myproject-merge</userinput>
    66.6 -updating working directory
    66.7 -3 files updated, 0 files merged, 0 files removed, 0 files unresolved
    66.8 -<prompt>$</prompt> <userinput>cd myproject-merge</userinput>
    66.9 -<prompt>$</prompt> <userinput>hg pull ../myproject-1.0.1</userinput>
   66.10 -pulling from ../myproject-1.0.1
   66.11 -searching for changes
   66.12 -adding changesets
   66.13 -adding manifests
   66.14 -adding file changes
   66.15 -added 1 changesets with 1 changes to 1 files (+1 heads)
   66.16 -(run 'hg heads' to see heads, 'hg merge' to merge)
   66.17 -</screen>
    67.1 --- a/en/examples/results/branch-repo.tag.out	Fri Mar 20 17:17:55 2009 +0800
    67.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.3 @@ -1,3 +0,0 @@
    67.4 -<screen><prompt>$</prompt> <userinput>cd myproject</userinput>
    67.5 -<prompt>$</prompt> <userinput>hg tag v1.0</userinput>
    67.6 -</screen>
    68.1 --- a/en/examples/results/branching.clone.out	Fri Mar 20 17:17:55 2009 +0800
    68.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    68.3 @@ -1,10 +0,0 @@
    68.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    68.5 -<prompt>$</prompt> <userinput>hg clone -rv1.0 main stable</userinput>
    68.6 -requesting all changes
    68.7 -adding changesets
    68.8 -adding manifests
    68.9 -adding file changes
   68.10 -added 1 changesets with 1 changes to 1 files
   68.11 -updating working directory
   68.12 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   68.13 -</screen>
    69.1 --- a/en/examples/results/branching.init.out	Fri Mar 20 17:17:55 2009 +0800
    69.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    69.3 @@ -1,6 +0,0 @@
    69.4 -<screen><prompt>$</prompt> <userinput>hg init main</userinput>
    69.5 -<prompt>$</prompt> <userinput>cd main</userinput>
    69.6 -<prompt>$</prompt> <userinput>echo 'This is a boring feature.' &gt; myfile</userinput>
    69.7 -<prompt>$</prompt> <userinput>hg commit -A -m 'We have reached an important milestone!'</userinput>
    69.8 -adding myfile
    69.9 -</screen>
    70.1 --- a/en/examples/results/branching.main.out	Fri Mar 20 17:17:55 2009 +0800
    70.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.3 @@ -1,7 +0,0 @@
    70.4 -<screen><prompt>$</prompt> <userinput>cd ../main</userinput>
    70.5 -<prompt>$</prompt> <userinput>echo 'This is exciting and new!' &gt;&gt; myfile</userinput>
    70.6 -<prompt>$</prompt> <userinput>hg commit -m 'Add a new feature'</userinput>
    70.7 -<prompt>$</prompt> <userinput>cat myfile</userinput>
    70.8 -This is a boring feature.
    70.9 -This is exciting and new!
   70.10 -</screen>
    71.1 --- a/en/examples/results/branching.merge.out	Fri Mar 20 17:17:55 2009 +0800
    71.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    71.3 @@ -1,18 +0,0 @@
    71.4 -<screen><prompt>$</prompt> <userinput>cd ../main</userinput>
    71.5 -<prompt>$</prompt> <userinput>hg pull ../stable</userinput>
    71.6 -pulling from ../stable
    71.7 -searching for changes
    71.8 -adding changesets
    71.9 -adding manifests
   71.10 -adding file changes
   71.11 -added 1 changesets with 1 changes to 1 files (+1 heads)
   71.12 -(run 'hg heads' to see heads, 'hg merge' to merge)
   71.13 -<prompt>$</prompt> <userinput>hg merge</userinput>
   71.14 -merging myfile
   71.15 -0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   71.16 -(branch merge, don't forget to commit)
   71.17 -<prompt>$</prompt> <userinput>hg commit -m 'Bring in bugfix from stable branch'</userinput>
   71.18 -<prompt>$</prompt> <userinput>cat myfile</userinput>
   71.19 -This is a fix to a boring feature.
   71.20 -This is exciting and new!
   71.21 -</screen>
    72.1 --- a/en/examples/results/branching.stable.out	Fri Mar 20 17:17:55 2009 +0800
    72.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    72.3 @@ -1,14 +0,0 @@
    72.4 -<screen><prompt>$</prompt> <userinput>hg clone stable stable-fix</userinput>
    72.5 -updating working directory
    72.6 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    72.7 -<prompt>$</prompt> <userinput>cd stable-fix</userinput>
    72.8 -<prompt>$</prompt> <userinput>echo 'This is a fix to a boring feature.' &gt; myfile</userinput>
    72.9 -<prompt>$</prompt> <userinput>hg commit -m 'Fix a bug'</userinput>
   72.10 -<prompt>$</prompt> <userinput>hg push</userinput>
   72.11 -pushing to 
   72.12 -searching for changes
   72.13 -adding changesets
   72.14 -adding manifests
   72.15 -adding file changes
   72.16 -added 1 changesets with 1 changes to 1 files
   72.17 -</screen>
    73.1 --- a/en/examples/results/branching.tag.out	Fri Mar 20 17:17:55 2009 +0800
    73.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    73.3 @@ -1,12 +0,0 @@
    73.4 -<screen><prompt>$</prompt> <userinput>hg tag v1.0</userinput>
    73.5 -<prompt>$</prompt> <userinput>hg tip</userinput>
    73.6 -changeset:   
    73.7 -tag:         tip
    73.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    73.9 -
   73.10 -summary:     Added tag v1.0 for changeset 
   73.11 -
   73.12 -<prompt>$</prompt> <userinput>hg tags</userinput>
   73.13 -tip                                
   73.14 -v1.0                               
   73.15 -</screen>
    74.1 --- a/en/examples/results/branching.update.out	Fri Mar 20 17:17:55 2009 +0800
    74.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    74.3 @@ -1,8 +0,0 @@
    74.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    74.5 -<prompt>$</prompt> <userinput>hg clone -U main main-old</userinput>
    74.6 -<prompt>$</prompt> <userinput>cd main-old</userinput>
    74.7 -<prompt>$</prompt> <userinput>hg update v1.0</userinput>
    74.8 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    74.9 -<prompt>$</prompt> <userinput>cat myfile</userinput>
   74.10 -This is a boring feature.
   74.11 -</screen>
    75.1 --- a/en/examples/results/cmdref.diff-p.out	Fri Mar 20 17:17:55 2009 +0800
    75.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    75.3 @@ -1,23 +0,0 @@
    75.4 -<screen><prompt>$</prompt> <userinput>echo '[diff]' &gt;&gt; $HGRC</userinput>
    75.5 -<prompt>$</prompt> <userinput>echo 'showfunc = False' &gt;&gt; $HGRC</userinput>
    75.6 -<prompt>$</prompt> <userinput>hg diff</userinput>
    75.7 -diff -r  myfile.c
    75.8 -
    75.9 -
   75.10 -@@ -1,4 +1,4 @@
   75.11 - int myfunc()
   75.12 - {
   75.13 --    return 1;
   75.14 -+    return 10;
   75.15 - }
   75.16 -<prompt>$</prompt> <userinput>hg diff -p</userinput>
   75.17 -diff -r  myfile.c
   75.18 -
   75.19 -
   75.20 -@@ -1,4 +1,4 @@
   75.21 - int myfunc()
   75.22 - {
   75.23 --    return 1;
   75.24 -+    return 10;
   75.25 - }
   75.26 -</screen>
    76.1 --- a/en/examples/results/daily.copy.after.out	Fri Mar 20 17:17:55 2009 +0800
    76.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    76.3 @@ -1,3 +0,0 @@
    76.4 -<screen><prompt>$</prompt> <userinput>cp a z</userinput>
    76.5 -<prompt>$</prompt> <userinput>hg copy --after a z</userinput>
    76.6 -</screen>
    77.1 --- a/en/examples/results/daily.copy.cat.out	Fri Mar 20 17:17:55 2009 +0800
    77.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    77.3 @@ -1,6 +0,0 @@
    77.4 -<screen><prompt>$</prompt> <userinput>cat file</userinput>
    77.5 -line
    77.6 -new contents
    77.7 -<prompt>$</prompt> <userinput>cat ../my-copy/new-file</userinput>
    77.8 -line
    77.9 -</screen>
    78.1 --- a/en/examples/results/daily.copy.clone.out	Fri Mar 20 17:17:55 2009 +0800
    78.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    78.3 @@ -1,5 +0,0 @@
    78.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    78.5 -<prompt>$</prompt> <userinput>hg clone my-copy your-copy</userinput>
    78.6 -updating working directory
    78.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    78.8 -</screen>
    79.1 --- a/en/examples/results/daily.copy.copy.out	Fri Mar 20 17:17:55 2009 +0800
    79.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.3 @@ -1,3 +0,0 @@
    79.4 -<screen><prompt>$</prompt> <userinput>cd my-copy</userinput>
    79.5 -<prompt>$</prompt> <userinput>hg copy file new-file</userinput>
    79.6 -</screen>
    80.1 --- a/en/examples/results/daily.copy.dir-dest.out	Fri Mar 20 17:17:55 2009 +0800
    80.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    80.3 @@ -1,5 +0,0 @@
    80.4 -<screen><prompt>$</prompt> <userinput>mkdir d</userinput>
    80.5 -<prompt>$</prompt> <userinput>hg copy a b d</userinput>
    80.6 -<prompt>$</prompt> <userinput>ls d</userinput>
    80.7 -a  b
    80.8 -</screen>
    81.1 --- a/en/examples/results/daily.copy.dir-src-dest.out	Fri Mar 20 17:17:55 2009 +0800
    81.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    81.3 @@ -1,3 +0,0 @@
    81.4 -<screen><prompt>$</prompt> <userinput>hg copy c d</userinput>
    81.5 -copying c/a/c to d/c/a/c
    81.6 -</screen>
    82.1 --- a/en/examples/results/daily.copy.dir-src.out	Fri Mar 20 17:17:55 2009 +0800
    82.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    82.3 @@ -1,3 +0,0 @@
    82.4 -<screen><prompt>$</prompt> <userinput>hg copy c e</userinput>
    82.5 -copying c/a/c to e/a/c
    82.6 -</screen>
    83.1 --- a/en/examples/results/daily.copy.init.out	Fri Mar 20 17:17:55 2009 +0800
    83.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.3 @@ -1,6 +0,0 @@
    83.4 -<screen><prompt>$</prompt> <userinput>hg init my-copy</userinput>
    83.5 -<prompt>$</prompt> <userinput>cd my-copy</userinput>
    83.6 -<prompt>$</prompt> <userinput>echo line &gt; file</userinput>
    83.7 -<prompt>$</prompt> <userinput>hg add file</userinput>
    83.8 -<prompt>$</prompt> <userinput>hg commit -m 'Added a file'</userinput>
    83.9 -</screen>
    84.1 --- a/en/examples/results/daily.copy.merge.out	Fri Mar 20 17:17:55 2009 +0800
    84.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.3 @@ -1,16 +0,0 @@
    84.4 -<screen><prompt>$</prompt> <userinput>hg pull ../my-copy</userinput>
    84.5 -pulling from ../my-copy
    84.6 -searching for changes
    84.7 -adding changesets
    84.8 -adding manifests
    84.9 -adding file changes
   84.10 -added 1 changesets with 1 changes to 1 files (+1 heads)
   84.11 -(run 'hg heads' to see heads, 'hg merge' to merge)
   84.12 -<prompt>$</prompt> <userinput>hg merge</userinput>
   84.13 -merging file and new-file to new-file
   84.14 -0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   84.15 -(branch merge, don't forget to commit)
   84.16 -<prompt>$</prompt> <userinput>cat new-file</userinput>
   84.17 -line
   84.18 -new contents
   84.19 -</screen>
    85.1 --- a/en/examples/results/daily.copy.other.out	Fri Mar 20 17:17:55 2009 +0800
    85.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.3 @@ -1,4 +0,0 @@
    85.4 -<screen><prompt>$</prompt> <userinput>cd ../your-copy</userinput>
    85.5 -<prompt>$</prompt> <userinput>echo 'new contents' &gt;&gt; file</userinput>
    85.6 -<prompt>$</prompt> <userinput>hg commit -m 'Changed file'</userinput>
    85.7 -</screen>
    86.1 --- a/en/examples/results/daily.copy.simple.out	Fri Mar 20 17:17:55 2009 +0800
    86.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    86.3 @@ -1,5 +0,0 @@
    86.4 -<screen><prompt>$</prompt> <userinput>mkdir k</userinput>
    86.5 -<prompt>$</prompt> <userinput>hg copy a k</userinput>
    86.6 -<prompt>$</prompt> <userinput>ls k</userinput>
    86.7 -a
    86.8 -</screen>
    87.1 --- a/en/examples/results/daily.copy.status-copy.out	Fri Mar 20 17:17:55 2009 +0800
    87.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.3 @@ -1,5 +0,0 @@
    87.4 -<screen><prompt>$</prompt> <userinput>hg status -C</userinput>
    87.5 -A new-file
    87.6 -  file
    87.7 -<prompt>$</prompt> <userinput>hg commit -m 'Copied file'</userinput>
    87.8 -</screen>
    88.1 --- a/en/examples/results/daily.copy.status.out	Fri Mar 20 17:17:55 2009 +0800
    88.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    88.3 @@ -1,3 +0,0 @@
    88.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
    88.5 -A new-file
    88.6 -</screen>
    89.1 --- a/en/examples/results/daily.files.add-dir.out	Fri Mar 20 17:17:55 2009 +0800
    89.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    89.3 @@ -1,11 +0,0 @@
    89.4 -<screen><prompt>$</prompt> <userinput>mkdir b</userinput>
    89.5 -<prompt>$</prompt> <userinput>echo b &gt; b/b</userinput>
    89.6 -<prompt>$</prompt> <userinput>echo c &gt; b/c</userinput>
    89.7 -<prompt>$</prompt> <userinput>mkdir b/d</userinput>
    89.8 -<prompt>$</prompt> <userinput>echo d &gt; b/d/d</userinput>
    89.9 -<prompt>$</prompt> <userinput>hg add b</userinput>
   89.10 -adding b/b
   89.11 -adding b/c
   89.12 -adding b/d/d
   89.13 -<prompt>$</prompt> <userinput>hg commit -m 'Added all files in subdirectory'</userinput>
   89.14 -</screen>
    90.1 --- a/en/examples/results/daily.files.add.out	Fri Mar 20 17:17:55 2009 +0800
    90.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    90.3 @@ -1,11 +0,0 @@
    90.4 -<screen><prompt>$</prompt> <userinput>hg init add-example</userinput>
    90.5 -<prompt>$</prompt> <userinput>cd add-example</userinput>
    90.6 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
    90.7 -<prompt>$</prompt> <userinput>hg status</userinput>
    90.8 -? a
    90.9 -<prompt>$</prompt> <userinput>hg add a</userinput>
   90.10 -<prompt>$</prompt> <userinput>hg status</userinput>
   90.11 -A a
   90.12 -<prompt>$</prompt> <userinput>hg commit -m 'Added one file'</userinput>
   90.13 -<prompt>$</prompt> <userinput>hg status</userinput>
   90.14 -</screen>
    91.1 --- a/en/examples/results/daily.files.addremove.out	Fri Mar 20 17:17:55 2009 +0800
    91.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    91.3 @@ -1,8 +0,0 @@
    91.4 -<screen><prompt>$</prompt> <userinput>hg init addremove-example</userinput>
    91.5 -<prompt>$</prompt> <userinput>cd addremove-example</userinput>
    91.6 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
    91.7 -<prompt>$</prompt> <userinput>echo b &gt; b</userinput>
    91.8 -<prompt>$</prompt> <userinput>hg addremove</userinput>
    91.9 -adding a
   91.10 -adding b
   91.11 -</screen>
    92.1 --- a/en/examples/results/daily.files.commit-addremove.out	Fri Mar 20 17:17:55 2009 +0800
    92.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    92.3 @@ -1,4 +0,0 @@
    92.4 -<screen><prompt>$</prompt> <userinput>echo c &gt; c</userinput>
    92.5 -<prompt>$</prompt> <userinput>hg commit -A -m 'Commit with addremove'</userinput>
    92.6 -adding c
    92.7 -</screen>
    93.1 --- a/en/examples/results/daily.files.hidden.out	Fri Mar 20 17:17:55 2009 +0800
    93.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    93.3 @@ -1,15 +0,0 @@
    93.4 -<screen><prompt>$</prompt> <userinput>hg init hidden-example</userinput>
    93.5 -<prompt>$</prompt> <userinput>cd hidden-example</userinput>
    93.6 -<prompt>$</prompt> <userinput>mkdir empty</userinput>
    93.7 -<prompt>$</prompt> <userinput>touch empty/.hidden</userinput>
    93.8 -<prompt>$</prompt> <userinput>hg add empty/.hidden</userinput>
    93.9 -<prompt>$</prompt> <userinput>hg commit -m 'Manage an empty-looking directory'</userinput>
   93.10 -<prompt>$</prompt> <userinput>ls empty</userinput>
   93.11 -<prompt>$</prompt> <userinput>cd ..</userinput>
   93.12 -<prompt>$</prompt> <userinput>hg clone hidden-example tmp</userinput>
   93.13 -updating working directory
   93.14 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   93.15 -<prompt>$</prompt> <userinput>ls tmp</userinput>
   93.16 -empty
   93.17 -<prompt>$</prompt> <userinput>ls tmp/empty</userinput>
   93.18 -</screen>
    94.1 --- a/en/examples/results/daily.files.missing.out	Fri Mar 20 17:17:55 2009 +0800
    94.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    94.3 @@ -1,9 +0,0 @@
    94.4 -<screen><prompt>$</prompt> <userinput>hg init missing-example</userinput>
    94.5 -<prompt>$</prompt> <userinput>cd missing-example</userinput>
    94.6 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
    94.7 -<prompt>$</prompt> <userinput>hg add a</userinput>
    94.8 -<prompt>$</prompt> <userinput>hg commit -m 'File about to be missing'</userinput>
    94.9 -<prompt>$</prompt> <userinput>rm a</userinput>
   94.10 -<prompt>$</prompt> <userinput>hg status</userinput>
   94.11 -! a
   94.12 -</screen>
    95.1 --- a/en/examples/results/daily.files.recover-missing.out	Fri Mar 20 17:17:55 2009 +0800
    95.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    95.3 @@ -1,5 +0,0 @@
    95.4 -<screen><prompt>$</prompt> <userinput>hg revert a</userinput>
    95.5 -<prompt>$</prompt> <userinput>cat a</userinput>
    95.6 -a
    95.7 -<prompt>$</prompt> <userinput>hg status</userinput>
    95.8 -</screen>
    96.1 --- a/en/examples/results/daily.files.remove-after.out	Fri Mar 20 17:17:55 2009 +0800
    96.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    96.3 @@ -1,4 +0,0 @@
    96.4 -<screen><prompt>$</prompt> <userinput>hg remove --after a</userinput>
    96.5 -<prompt>$</prompt> <userinput>hg status</userinput>
    96.6 -R a
    96.7 -</screen>
    97.1 --- a/en/examples/results/daily.files.remove.out	Fri Mar 20 17:17:55 2009 +0800
    97.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    97.3 @@ -1,14 +0,0 @@
    97.4 -<screen><prompt>$</prompt> <userinput>hg init remove-example</userinput>
    97.5 -<prompt>$</prompt> <userinput>cd remove-example</userinput>
    97.6 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
    97.7 -<prompt>$</prompt> <userinput>mkdir b</userinput>
    97.8 -<prompt>$</prompt> <userinput>echo b &gt; b/b</userinput>
    97.9 -<prompt>$</prompt> <userinput>hg add a b</userinput>
   97.10 -adding b/b
   97.11 -<prompt>$</prompt> <userinput>hg commit -m 'Small example for file removal'</userinput>
   97.12 -<prompt>$</prompt> <userinput>hg remove a</userinput>
   97.13 -<prompt>$</prompt> <userinput>hg status</userinput>
   97.14 -R a
   97.15 -<prompt>$</prompt> <userinput>hg remove b</userinput>
   97.16 -removing b/b
   97.17 -</screen>
    98.1 --- a/en/examples/results/daily.rename.rename.out	Fri Mar 20 17:17:55 2009 +0800
    98.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    98.3 @@ -1,2 +0,0 @@
    98.4 -<screen><prompt>$</prompt> <userinput>hg rename a b</userinput>
    98.5 -</screen>
    99.1 --- a/en/examples/results/daily.rename.status-copy.out	Fri Mar 20 17:17:55 2009 +0800
    99.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    99.3 @@ -1,5 +0,0 @@
    99.4 -<screen><prompt>$</prompt> <userinput>hg status -C</userinput>
    99.5 -A b
    99.6 -  a
    99.7 -R a
    99.8 -</screen>
   100.1 --- a/en/examples/results/daily.rename.status.out	Fri Mar 20 17:17:55 2009 +0800
   100.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   100.3 @@ -1,4 +0,0 @@
   100.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   100.5 -A b
   100.6 -R a
   100.7 -</screen>
   101.1 --- a/en/examples/results/daily.revert.add.out	Fri Mar 20 17:17:55 2009 +0800
   101.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   101.3 @@ -1,8 +0,0 @@
   101.4 -<screen><prompt>$</prompt> <userinput>echo oops &gt; oops</userinput>
   101.5 -<prompt>$</prompt> <userinput>hg add oops</userinput>
   101.6 -<prompt>$</prompt> <userinput>hg status oops</userinput>
   101.7 -A oops
   101.8 -<prompt>$</prompt> <userinput>hg revert oops</userinput>
   101.9 -<prompt>$</prompt> <userinput>hg status</userinput>
  101.10 -? oops
  101.11 -</screen>
   102.1 --- a/en/examples/results/daily.revert.copy.out	Fri Mar 20 17:17:55 2009 +0800
   102.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   102.3 @@ -1,5 +0,0 @@
   102.4 -<screen><prompt>$</prompt> <userinput>hg copy file new-file</userinput>
   102.5 -<prompt>$</prompt> <userinput>hg revert new-file</userinput>
   102.6 -<prompt>$</prompt> <userinput>hg status</userinput>
   102.7 -? new-file
   102.8 -</screen>
   103.1 --- a/en/examples/results/daily.revert.missing.out	Fri Mar 20 17:17:55 2009 +0800
   103.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   103.3 @@ -1,7 +0,0 @@
   103.4 -<screen><prompt>$</prompt> <userinput>rm file</userinput>
   103.5 -<prompt>$</prompt> <userinput>hg status</userinput>
   103.6 -! file
   103.7 -<prompt>$</prompt> <userinput>hg revert file</userinput>
   103.8 -<prompt>$</prompt> <userinput>ls file</userinput>
   103.9 -file
  103.10 -</screen>
   104.1 --- a/en/examples/results/daily.revert.modify.out	Fri Mar 20 17:17:55 2009 +0800
   104.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   104.3 @@ -1,11 +0,0 @@
   104.4 -<screen><prompt>$</prompt> <userinput>cat file</userinput>
   104.5 -original content
   104.6 -<prompt>$</prompt> <userinput>echo unwanted change &gt;&gt; file</userinput>
   104.7 -<prompt>$</prompt> <userinput>hg diff file</userinput>
   104.8 -diff -r  file
   104.9 -
  104.10 -
  104.11 -@@ -1,1 +1,2 @@
  104.12 - original content
  104.13 -+unwanted change
  104.14 -</screen>
   105.1 --- a/en/examples/results/daily.revert.remove.out	Fri Mar 20 17:17:55 2009 +0800
   105.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   105.3 @@ -1,8 +0,0 @@
   105.4 -<screen><prompt>$</prompt> <userinput>hg remove file</userinput>
   105.5 -<prompt>$</prompt> <userinput>hg status</userinput>
   105.6 -R file
   105.7 -<prompt>$</prompt> <userinput>hg revert file</userinput>
   105.8 -<prompt>$</prompt> <userinput>hg status</userinput>
   105.9 -<prompt>$</prompt> <userinput>ls file</userinput>
  105.10 -file
  105.11 -</screen>
   106.1 --- a/en/examples/results/daily.revert.rename-orig.out	Fri Mar 20 17:17:55 2009 +0800
   106.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   106.3 @@ -1,5 +0,0 @@
   106.4 -<screen><prompt>$</prompt> <userinput>hg revert file</userinput>
   106.5 -no changes needed to file
   106.6 -<prompt>$</prompt> <userinput>hg status</userinput>
   106.7 -? new-file
   106.8 -</screen>
   107.1 --- a/en/examples/results/daily.revert.rename.out	Fri Mar 20 17:17:55 2009 +0800
   107.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   107.3 @@ -1,5 +0,0 @@
   107.4 -<screen><prompt>$</prompt> <userinput>hg rename file new-file</userinput>
   107.5 -<prompt>$</prompt> <userinput>hg revert new-file</userinput>
   107.6 -<prompt>$</prompt> <userinput>hg status</userinput>
   107.7 -? new-file
   107.8 -</screen>
   108.1 --- a/en/examples/results/daily.revert.status.out	Fri Mar 20 17:17:55 2009 +0800
   108.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   108.3 @@ -1,6 +0,0 @@
   108.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   108.5 -? file.orig
   108.6 -<prompt>$</prompt> <userinput>cat file.orig</userinput>
   108.7 -original content
   108.8 -unwanted change
   108.9 -</screen>
   109.1 --- a/en/examples/results/daily.revert.unmodify.out	Fri Mar 20 17:17:55 2009 +0800
   109.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   109.3 @@ -1,6 +0,0 @@
   109.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   109.5 -M file
   109.6 -<prompt>$</prompt> <userinput>hg revert file</userinput>
   109.7 -<prompt>$</prompt> <userinput>cat file</userinput>
   109.8 -original content
   109.9 -</screen>
   110.1 --- a/en/examples/results/extdiff.diff.out	Fri Mar 20 17:17:55 2009 +0800
   110.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   110.3 @@ -1,8 +0,0 @@
   110.4 -<screen><prompt>$</prompt> <userinput>hg diff</userinput>
   110.5 -diff -r  myfile
   110.6 -
   110.7 -
   110.8 -@@ -1,1 +1,2 @@
   110.9 - The first line.
  110.10 -+The second line.
  110.11 -</screen>
   111.1 --- a/en/examples/results/extdiff.extdiff-ctx.out	Fri Mar 20 17:17:55 2009 +0800
   111.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   111.3 @@ -1,9 +0,0 @@
   111.4 -<screen><prompt>$</prompt> <userinput>hg extdiff -o -NprcC5</userinput>
   111.5 -
   111.6 -
   111.7 -***************
   111.8 -*** 1 ****
   111.9 -
  111.10 -  The first line.
  111.11 -+ The second line.
  111.12 -</screen>
   112.1 --- a/en/examples/results/extdiff.extdiff.out	Fri Mar 20 17:17:55 2009 +0800
   112.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   112.3 @@ -1,7 +0,0 @@
   112.4 -<screen><prompt>$</prompt> <userinput>hg extdiff</userinput>
   112.5 -
   112.6 -
   112.7 -@@ -1 +1,2 @@
   112.8 - The first line.
   112.9 -+The second line.
  112.10 -</screen>
   113.1 --- a/en/examples/results/filenames.dirs.out	Fri Mar 20 17:17:55 2009 +0800
   113.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   113.3 @@ -1,6 +0,0 @@
   113.4 -<screen><prompt>$</prompt> <userinput>hg status src</userinput>
   113.5 -? src/main.py
   113.6 -? src/watcher/_watcher.c
   113.7 -? src/watcher/watcher.py
   113.8 -? src/xyzzy.txt
   113.9 -</screen>
   114.1 --- a/en/examples/results/filenames.files.out	Fri Mar 20 17:17:55 2009 +0800
   114.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   114.3 @@ -1,2 +0,0 @@
   114.4 -<screen><prompt>$</prompt> <userinput>hg add COPYING README examples/simple.py</userinput>
   114.5 -</screen>
   115.1 --- a/en/examples/results/filenames.filter.exclude.out	Fri Mar 20 17:17:55 2009 +0800
   115.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   115.3 @@ -1,4 +0,0 @@
   115.4 -<screen><prompt>$</prompt> <userinput>hg status -X '**.py' src</userinput>
   115.5 -? src/watcher/_watcher.c
   115.6 -? src/xyzzy.txt
   115.7 -</screen>
   116.1 --- a/en/examples/results/filenames.filter.include.out	Fri Mar 20 17:17:55 2009 +0800
   116.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   116.3 @@ -1,3 +0,0 @@
   116.4 -<screen><prompt>$</prompt> <userinput>hg status -I '*.in'</userinput>
   116.5 -? MANIFEST.in
   116.6 -</screen>
   117.1 --- a/en/examples/results/filenames.glob.group.out	Fri Mar 20 17:17:55 2009 +0800
   117.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   117.3 @@ -1,4 +0,0 @@
   117.4 -<screen><prompt>$</prompt> <userinput>hg status 'glob:*.{in,py}'</userinput>
   117.5 -? MANIFEST.in
   117.6 -? setup.py
   117.7 -</screen>
   118.1 --- a/en/examples/results/filenames.glob.question.out	Fri Mar 20 17:17:55 2009 +0800
   118.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   118.3 @@ -1,3 +0,0 @@
   118.4 -<screen><prompt>$</prompt> <userinput>hg status 'glob:**.?'</userinput>
   118.5 -? src/watcher/_watcher.c
   118.6 -</screen>
   119.1 --- a/en/examples/results/filenames.glob.range.out	Fri Mar 20 17:17:55 2009 +0800
   119.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   119.3 @@ -1,4 +0,0 @@
   119.4 -<screen><prompt>$</prompt> <userinput>hg status 'glob:**[nr-t]'</userinput>
   119.5 -? MANIFEST.in
   119.6 -? src/xyzzy.txt
   119.7 -</screen>
   120.1 --- a/en/examples/results/filenames.glob.star-starstar.out	Fri Mar 20 17:17:55 2009 +0800
   120.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   120.3 @@ -1,9 +0,0 @@
   120.4 -<screen><prompt>$</prompt> <userinput>hg status 'glob:*.py'</userinput>
   120.5 -? setup.py
   120.6 -<prompt>$</prompt> <userinput>hg status 'glob:**.py'</userinput>
   120.7 -A examples/simple.py
   120.8 -A src/main.py
   120.9 -? examples/performant.py
  120.10 -? setup.py
  120.11 -? src/watcher/watcher.py
  120.12 -</screen>
   121.1 --- a/en/examples/results/filenames.glob.star.out	Fri Mar 20 17:17:55 2009 +0800
   121.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   121.3 @@ -1,3 +0,0 @@
   121.4 -<screen><prompt>$</prompt> <userinput>hg add 'glob:*.py'</userinput>
   121.5 -adding main.py
   121.6 -</screen>
   122.1 --- a/en/examples/results/filenames.glob.starstar.out	Fri Mar 20 17:17:55 2009 +0800
   122.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   122.3 @@ -1,8 +0,0 @@
   122.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   122.5 -<prompt>$</prompt> <userinput>hg status 'glob:**.py'</userinput>
   122.6 -A examples/simple.py
   122.7 -A src/main.py
   122.8 -? examples/performant.py
   122.9 -? setup.py
  122.10 -? src/watcher/watcher.py
  122.11 -</screen>
   123.1 --- a/en/examples/results/filenames.wdir-relname.out	Fri Mar 20 17:17:55 2009 +0800
   123.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   123.3 @@ -1,23 +0,0 @@
   123.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   123.5 -A COPYING
   123.6 -A README
   123.7 -A examples/simple.py
   123.8 -? MANIFEST.in
   123.9 -? examples/performant.py
  123.10 -? setup.py
  123.11 -? src/main.py
  123.12 -? src/watcher/_watcher.c
  123.13 -? src/watcher/watcher.py
  123.14 -? src/xyzzy.txt
  123.15 -<prompt>$</prompt> <userinput>hg status `hg root`</userinput>
  123.16 -A ../COPYING
  123.17 -A ../README
  123.18 -A ../examples/simple.py
  123.19 -? ../MANIFEST.in
  123.20 -? ../examples/performant.py
  123.21 -? ../setup.py
  123.22 -? main.py
  123.23 -? watcher/_watcher.c
  123.24 -? watcher/watcher.py
  123.25 -? xyzzy.txt
  123.26 -</screen>
   124.1 --- a/en/examples/results/filenames.wdir-subdir.out	Fri Mar 20 17:17:55 2009 +0800
   124.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   124.3 @@ -1,15 +0,0 @@
   124.4 -<screen><prompt>$</prompt> <userinput>cd src</userinput>
   124.5 -<prompt>$</prompt> <userinput>hg add -n</userinput>
   124.6 -adding ../MANIFEST.in
   124.7 -adding ../examples/performant.py
   124.8 -adding ../setup.py
   124.9 -adding main.py
  124.10 -adding watcher/_watcher.c
  124.11 -adding watcher/watcher.py
  124.12 -adding xyzzy.txt
  124.13 -<prompt>$</prompt> <userinput>hg add -n .</userinput>
  124.14 -adding main.py
  124.15 -adding watcher/_watcher.c
  124.16 -adding watcher/watcher.py
  124.17 -adding xyzzy.txt
  124.18 -</screen>
   125.1 --- a/en/examples/results/hook.msglen.go.out	Fri Mar 20 17:17:55 2009 +0800
   125.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   125.3 @@ -1,11 +0,0 @@
   125.4 -<screen><prompt>$</prompt> <userinput>cat .hg/hgrc</userinput>
   125.5 -[hooks]
   125.6 -pretxncommit.msglen = test `hg tip --template {desc} | wc -c` -ge 10
   125.7 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
   125.8 -<prompt>$</prompt> <userinput>hg add a</userinput>
   125.9 -<prompt>$</prompt> <userinput>hg commit -A -m 'too short'</userinput>
  125.10 -transaction abort!
  125.11 -rollback completed
  125.12 -abort: pretxncommit.msglen hook exited with status 1
  125.13 -<prompt>$</prompt> <userinput>hg commit -A -m 'long enough'</userinput>
  125.14 -</screen>
   126.1 --- a/en/examples/results/hook.msglen.run.out	Fri Mar 20 17:17:55 2009 +0800
   126.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   126.3 @@ -1,10 +0,0 @@
   126.4 -$ \textbf{cat .hg/hgrc}
   126.5 -[hooks]
   126.6 -pretxncommit.msglen = test `hg tip --template \{desc\} | wc -c` -ge 10
   126.7 -$ \textbf{echo a > a}
   126.8 -$ \textbf{hg add a}
   126.9 -$ \textbf{hg commit -A -m 'too short'}
  126.10 -abort: pretxncommit.msglen hook exited with status 1
  126.11 -transaction abort!
  126.12 -rollback completed
  126.13 -$ \textbf{hg commit -A -m 'long enough'}
   127.1 --- a/en/examples/results/hook.simple.ext.out	Fri Mar 20 17:17:55 2009 +0800
   127.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   127.3 @@ -1,6 +0,0 @@
   127.4 -<screen><prompt>$</prompt> <userinput>echo 'commit.when = echo -n "date of commit: "; date' &gt;&gt; .hg/hgrc</userinput>
   127.5 -<prompt>$</prompt> <userinput>echo a &gt;&gt; a</userinput>
   127.6 -<prompt>$</prompt> <userinput>hg commit -m 'i have two hooks'</userinput>
   127.7 -committed 
   127.8 -
   127.9 -</screen>
   128.1 --- a/en/examples/results/hook.simple.init.out	Fri Mar 20 17:17:55 2009 +0800
   128.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   128.3 @@ -1,12 +0,0 @@
   128.4 -<screen><prompt>$</prompt> <userinput>hg init hook-test</userinput>
   128.5 -<prompt>$</prompt> <userinput>cd hook-test</userinput>
   128.6 -<prompt>$</prompt> <userinput>echo '[hooks]' &gt;&gt; .hg/hgrc</userinput>
   128.7 -<prompt>$</prompt> <userinput>echo 'commit = echo committed $HG_NODE' &gt;&gt; .hg/hgrc</userinput>
   128.8 -<prompt>$</prompt> <userinput>cat .hg/hgrc</userinput>
   128.9 -[hooks]
  128.10 -commit = echo committed $HG_NODE
  128.11 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
  128.12 -<prompt>$</prompt> <userinput>hg add a</userinput>
  128.13 -<prompt>$</prompt> <userinput>hg commit -m 'testing commit hook'</userinput>
  128.14 -committed 
  128.15 -</screen>
   129.1 --- a/en/examples/results/hook.simple.pretxncommit.out	Fri Mar 20 17:17:55 2009 +0800
   129.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   129.3 @@ -1,14 +0,0 @@
   129.4 -<screen><prompt>$</prompt> <userinput>cat check_bug_id</userinput>
   129.5 -#!/bin/sh
   129.6 -# check that a commit comment mentions a numeric bug id
   129.7 -hg log -r $1 --template {desc} | grep -q "\&lt;bug *[0-9]"
   129.8 -<prompt>$</prompt> <userinput>echo 'pretxncommit.bug_id_required = ./check_bug_id $HG_NODE' &gt;&gt; .hg/hgrc</userinput>
   129.9 -<prompt>$</prompt> <userinput>echo a &gt;&gt; a</userinput>
  129.10 -<prompt>$</prompt> <userinput>hg commit -m 'i am not mentioning a bug id'</userinput>
  129.11 -transaction abort!
  129.12 -rollback completed
  129.13 -abort: pretxncommit.bug_id_required hook exited with status 1
  129.14 -<prompt>$</prompt> <userinput>hg commit -m 'i refer you to bug 666'</userinput>
  129.15 -committed 
  129.16 -
  129.17 -</screen>
   130.1 --- a/en/examples/results/hook.ws.better.out	Fri Mar 20 17:17:55 2009 +0800
   130.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   130.3 @@ -1,18 +0,0 @@
   130.4 -<screen><prompt>$</prompt> <userinput>cat .hg/hgrc</userinput>
   130.5 -[hooks]
   130.6 -pretxncommit.whitespace = .hg/check_whitespace.py
   130.7 -<prompt>$</prompt> <userinput>echo 'a ' &gt;&gt; a</userinput>
   130.8 -<prompt>$</prompt> <userinput>hg commit -A -m 'add new line with trailing whitespace'</userinput>
   130.9 -a, line 2: trailing whitespace added
  130.10 -commit message saved to .hg/commit.save
  130.11 -transaction abort!
  130.12 -rollback completed
  130.13 -abort: pretxncommit.whitespace hook exited with status 1
  130.14 -<prompt>$</prompt> <userinput>sed -i 's, *$,,' a</userinput>
  130.15 -<prompt>$</prompt> <userinput>hg commit -A -m 'trimmed trailing whitespace'</userinput>
  130.16 -a, line 2: trailing whitespace added
  130.17 -commit message saved to .hg/commit.save
  130.18 -transaction abort!
  130.19 -rollback completed
  130.20 -abort: pretxncommit.whitespace hook exited with status 1
  130.21 -</screen>
   131.1 --- a/en/examples/results/hook.ws.simple.out	Fri Mar 20 17:17:55 2009 +0800
   131.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   131.3 @@ -1,12 +0,0 @@
   131.4 -<screen><prompt>$</prompt> <userinput>cat .hg/hgrc</userinput>
   131.5 -[hooks]
   131.6 -pretxncommit.whitespace = hg export tip | (! egrep -q '^\+.*[ \t]$')
   131.7 -<prompt>$</prompt> <userinput>echo 'a ' &gt; a</userinput>
   131.8 -<prompt>$</prompt> <userinput>hg commit -A -m 'test with trailing whitespace'</userinput>
   131.9 -adding a
  131.10 -transaction abort!
  131.11 -rollback completed
  131.12 -abort: pretxncommit.whitespace hook exited with status 1
  131.13 -<prompt>$</prompt> <userinput>echo 'a' &gt; a</userinput>
  131.14 -<prompt>$</prompt> <userinput>hg commit -A -m 'drop trailing whitespace and try again'</userinput>
  131.15 -</screen>
   132.1 --- a/en/examples/results/issue29.go.out	Fri Mar 20 17:17:55 2009 +0800
   132.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   132.3 @@ -1,18 +0,0 @@
   132.4 -<screen><prompt>$</prompt> <userinput>hg init issue29</userinput>
   132.5 -<prompt>$</prompt> <userinput>cd issue29</userinput>
   132.6 -<prompt>$</prompt> <userinput>echo a &gt; a</userinput>
   132.7 -<prompt>$</prompt> <userinput>hg ci -Ama</userinput>
   132.8 -adding a
   132.9 -<prompt>$</prompt> <userinput>echo b &gt; b</userinput>
  132.10 -<prompt>$</prompt> <userinput>hg ci -Amb</userinput>
  132.11 -adding b
  132.12 -<prompt>$</prompt> <userinput>hg up 0</userinput>
  132.13 -0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  132.14 -<prompt>$</prompt> <userinput>mkdir b</userinput>
  132.15 -<prompt>$</prompt> <userinput>echo b &gt; b/b</userinput>
  132.16 -<prompt>$</prompt> <userinput>hg ci -Amc</userinput>
  132.17 -adding b/b
  132.18 -created new head
  132.19 -<prompt>$</prompt> <userinput>hg merge</userinput>
  132.20 -
  132.21 -</screen>
   133.1 --- a/en/examples/results/mq.dodiff.diff.out	Fri Mar 20 17:17:55 2009 +0800
   133.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   133.3 @@ -1,14 +0,0 @@
   133.4 -<screen><prompt>$</prompt> <userinput>echo 'this is my original thought' &gt; oldfile</userinput>
   133.5 -<prompt>$</prompt> <userinput>echo 'i have changed my mind' &gt; newfile</userinput>
   133.6 -<prompt>$</prompt> <userinput>diff -u oldfile newfile &gt; tiny.patch</userinput>
   133.7 -<prompt>$</prompt> <userinput>cat tiny.patch</userinput>
   133.8 -
   133.9 -
  133.10 -@@ -1 +1 @@
  133.11 --this is my original thought
  133.12 -+i have changed my mind
  133.13 -<prompt>$</prompt> <userinput>patch &lt; tiny.patch</userinput>
  133.14 -patching file oldfile
  133.15 -<prompt>$</prompt> <userinput>cat oldfile</userinput>
  133.16 -i have changed my mind
  133.17 -</screen>
   134.1 --- a/en/examples/results/mq.guards.init.out	Fri Mar 20 17:17:55 2009 +0800
   134.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   134.3 @@ -1,10 +0,0 @@
   134.4 -<screen><prompt>$</prompt> <userinput>hg qinit</userinput>
   134.5 -<prompt>$</prompt> <userinput>hg qnew hello.patch</userinput>
   134.6 -<prompt>$</prompt> <userinput>echo hello &gt; hello</userinput>
   134.7 -<prompt>$</prompt> <userinput>hg add hello</userinput>
   134.8 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
   134.9 -<prompt>$</prompt> <userinput>hg qnew goodbye.patch</userinput>
  134.10 -<prompt>$</prompt> <userinput>echo goodbye &gt; goodbye</userinput>
  134.11 -<prompt>$</prompt> <userinput>hg add goodbye</userinput>
  134.12 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
  134.13 -</screen>
   135.1 --- a/en/examples/results/mq.guards.qguard.neg.out	Fri Mar 20 17:17:55 2009 +0800
   135.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   135.3 @@ -1,4 +0,0 @@
   135.4 -<screen><prompt>$</prompt> <userinput>hg qguard hello.patch -quux</userinput>
   135.5 -<prompt>$</prompt> <userinput>hg qguard hello.patch</userinput>
   135.6 -hello.patch: -quux
   135.7 -</screen>
   136.1 --- a/en/examples/results/mq.guards.qguard.out	Fri Mar 20 17:17:55 2009 +0800
   136.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   136.3 @@ -1,3 +0,0 @@
   136.4 -<screen><prompt>$</prompt> <userinput>hg qguard</userinput>
   136.5 -goodbye.patch: unguarded
   136.6 -</screen>
   137.1 --- a/en/examples/results/mq.guards.qguard.pos.out	Fri Mar 20 17:17:55 2009 +0800
   137.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   137.3 @@ -1,4 +0,0 @@
   137.4 -<screen><prompt>$</prompt> <userinput>hg qguard +foo</userinput>
   137.5 -<prompt>$</prompt> <userinput>hg qguard</userinput>
   137.6 -goodbye.patch: +foo
   137.7 -</screen>
   138.1 --- a/en/examples/results/mq.guards.qselect.cat.out	Fri Mar 20 17:17:55 2009 +0800
   138.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   138.3 @@ -1,3 +0,0 @@
   138.4 -<screen><prompt>$</prompt> <userinput>cat .hg/patches/guards</userinput>
   138.5 -foo
   138.6 -</screen>
   139.1 --- a/en/examples/results/mq.guards.qselect.error.out	Fri Mar 20 17:17:55 2009 +0800
   139.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   139.3 @@ -1,3 +0,0 @@
   139.4 -<screen><prompt>$</prompt> <userinput>hg qselect +foo</userinput>
   139.5 -abort: guard '+foo' starts with invalid character: '+'
   139.6 -</screen>
   140.1 --- a/en/examples/results/mq.guards.qselect.foo.out	Fri Mar 20 17:17:55 2009 +0800
   140.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   140.3 @@ -1,9 +0,0 @@
   140.4 -<screen><prompt>$</prompt> <userinput>hg qpop -a</userinput>
   140.5 -patch queue now empty
   140.6 -<prompt>$</prompt> <userinput>hg qselect</userinput>
   140.7 -no active guards
   140.8 -<prompt>$</prompt> <userinput>hg qselect foo</userinput>
   140.9 -number of unguarded, unapplied patches has changed from 1 to 2
  140.10 -<prompt>$</prompt> <userinput>hg qselect</userinput>
  140.11 -foo
  140.12 -</screen>
   141.1 --- a/en/examples/results/mq.guards.qselect.foobar.out	Fri Mar 20 17:17:55 2009 +0800
   141.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   141.3 @@ -1,9 +0,0 @@
   141.4 -<screen><prompt>$</prompt> <userinput>hg qselect foo bar</userinput>
   141.5 -number of unguarded, unapplied patches has changed from 0 to 2
   141.6 -<prompt>$</prompt> <userinput>hg qpop -a</userinput>
   141.7 -no patches applied
   141.8 -<prompt>$</prompt> <userinput>hg qpush -a</userinput>
   141.9 -applying hello.patch
  141.10 -applying goodbye.patch
  141.11 -now at: goodbye.patch
  141.12 -</screen>
   142.1 --- a/en/examples/results/mq.guards.qselect.qpush.out	Fri Mar 20 17:17:55 2009 +0800
   142.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   142.3 @@ -1,5 +0,0 @@
   142.4 -<screen><prompt>$</prompt> <userinput>hg qpush -a</userinput>
   142.5 -applying hello.patch
   142.6 -applying goodbye.patch
   142.7 -now at: goodbye.patch
   142.8 -</screen>
   143.1 --- a/en/examples/results/mq.guards.qselect.quux.out	Fri Mar 20 17:17:55 2009 +0800
   143.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   143.3 @@ -1,7 +0,0 @@
   143.4 -<screen><prompt>$</prompt> <userinput>hg qselect quux</userinput>
   143.5 -number of guarded, applied patches has changed from 0 to 2
   143.6 -<prompt>$</prompt> <userinput>hg qpop -a</userinput>
   143.7 -patch queue now empty
   143.8 -<prompt>$</prompt> <userinput>hg qpush -a</userinput>
   143.9 -patch series already fully applied
  143.10 -</screen>
   144.1 --- a/en/examples/results/mq.guards.series.out	Fri Mar 20 17:17:55 2009 +0800
   144.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   144.3 @@ -1,4 +0,0 @@
   144.4 -<screen><prompt>$</prompt> <userinput>cat .hg/patches/series</userinput>
   144.5 -hello.patch #-quux
   144.6 -goodbye.patch #+foo
   144.7 -</screen>
   145.1 --- a/en/examples/results/mq.id.out.out	Fri Mar 20 17:17:55 2009 +0800
   145.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   145.3 @@ -1,32 +0,0 @@
   145.4 -$ \textbf{hg qapplied}
   145.5 -first.patch
   145.6 -second.patch
   145.7 -$ \textbf{hg log -r qbase:qtip}
   145.8 -changeset:   
   145.9 -tag:         first.patch
  145.10 -tag:         qbase
  145.11 -user:        Bryan O'Sullivan <bos@serpentine.com>
  145.12 -
  145.13 -summary:     patch queue: first.patch
  145.14 -
  145.15 -changeset:   
  145.16 -tag:         second.patch
  145.17 -tag:         qtip
  145.18 -tag:         tip
  145.19 -user:        Bryan O'Sullivan <bos@serpentine.com>
  145.20 -
  145.21 -summary:     patch queue: second.patch
  145.22 -
  145.23 -$ \textbf{hg export second.patch}
  145.24 -# HG changeset patch
  145.25 -# User Bryan O'Sullivan <bos@serpentine.com>
  145.26 -
  145.27 -# Node ID 
  145.28 -# Parent  
  145.29 -patch queue: second.patch
  145.30 -
  145.31 -diff -r  -r  other.c
  145.32 -
  145.33 -
  145.34 -@@ -0,0 +1,1 @@
  145.35 -+double u;
   146.1 --- a/en/examples/results/mq.id.output.out	Fri Mar 20 17:17:55 2009 +0800
   146.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   146.3 @@ -1,33 +0,0 @@
   146.4 -<screen><prompt>$</prompt> <userinput>hg qapplied</userinput>
   146.5 -first.patch
   146.6 -second.patch
   146.7 -<prompt>$</prompt> <userinput>hg log -r qbase:qtip</userinput>
   146.8 -changeset:   
   146.9 -tag:         first.patch
  146.10 -tag:         qbase
  146.11 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  146.12 -
  146.13 -summary:     [mq]: first.patch
  146.14 -
  146.15 -changeset:   
  146.16 -tag:         qtip
  146.17 -tag:         second.patch
  146.18 -tag:         tip
  146.19 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  146.20 -
  146.21 -summary:     [mq]: second.patch
  146.22 -
  146.23 -<prompt>$</prompt> <userinput>hg export second.patch</userinput>
  146.24 -# HG changeset patch
  146.25 -# User Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  146.26 -
  146.27 -# Node ID 
  146.28 -# Parent  
  146.29 -[mq]: second.patch
  146.30 -
  146.31 -diff -r  -r  other.c
  146.32 -
  146.33 -
  146.34 -@@ -0,0 +1,1 @@
  146.35 -+double u;
  146.36 -</screen>
   147.1 --- a/en/examples/results/mq.qinit-help.help.out	Fri Mar 20 17:17:55 2009 +0800
   147.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   147.3 @@ -1,17 +0,0 @@
   147.4 -<screen><prompt>$</prompt> <userinput>hg help qinit</userinput>
   147.5 -hg qinit [-c]
   147.6 -
   147.7 -init a new queue repository
   147.8 -
   147.9 -    The queue repository is unversioned by default. If -c is
  147.10 -    specified, qinit will create a separate nested repository
  147.11 -    for patches (qinit -c may also be run later to convert
  147.12 -    an unversioned patch repository into a versioned one).
  147.13 -    You can use qcommit to commit changes to this queue repository.
  147.14 -
  147.15 -options:
  147.16 -
  147.17 - -c --create-repo  create queue repository
  147.18 -
  147.19 -use "hg -v help qinit" to show global options
  147.20 -</screen>
   148.1 --- a/en/examples/results/mq.tarball.download.out	Fri Mar 20 17:17:55 2009 +0800
   148.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   148.3 @@ -1,10 +0,0 @@
   148.4 -<screen><prompt>$</prompt> <userinput>download netplug-1.2.5.tar.bz2</userinput>
   148.5 -<prompt>$</prompt> <userinput>tar jxf netplug-1.2.5.tar.bz2</userinput>
   148.6 -<prompt>$</prompt> <userinput>cd netplug-1.2.5</userinput>
   148.7 -<prompt>$</prompt> <userinput>hg init</userinput>
   148.8 -<prompt>$</prompt> <userinput>hg commit -q --addremove --message netplug-1.2.5</userinput>
   148.9 -<prompt>$</prompt> <userinput>cd ..</userinput>
  148.10 -<prompt>$</prompt> <userinput>hg clone netplug-1.2.5 netplug</userinput>
  148.11 -updating working directory
  148.12 -18 files updated, 0 files merged, 0 files removed, 0 files unresolved
  148.13 -</screen>
   149.1 --- a/en/examples/results/mq.tarball.newsource.out	Fri Mar 20 17:17:55 2009 +0800
   149.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   149.3 @@ -1,14 +0,0 @@
   149.4 -<screen><prompt>$</prompt> <userinput>hg qpop -a</userinput>
   149.5 -patch queue now empty
   149.6 -<prompt>$</prompt> <userinput>cd ..</userinput>
   149.7 -<prompt>$</prompt> <userinput>download netplug-1.2.8.tar.bz2</userinput>
   149.8 -<prompt>$</prompt> <userinput>hg clone netplug-1.2.5 netplug-1.2.8</userinput>
   149.9 -updating working directory
  149.10 -18 files updated, 0 files merged, 0 files removed, 0 files unresolved
  149.11 -<prompt>$</prompt> <userinput>cd netplug-1.2.8</userinput>
  149.12 -<prompt>$</prompt> <userinput>hg locate -0 | xargs -0 rm</userinput>
  149.13 -<prompt>$</prompt> <userinput>cd ..</userinput>
  149.14 -<prompt>$</prompt> <userinput>tar jxf netplug-1.2.8.tar.bz2</userinput>
  149.15 -<prompt>$</prompt> <userinput>cd netplug-1.2.8</userinput>
  149.16 -<prompt>$</prompt> <userinput>hg commit --addremove --message netplug-1.2.8</userinput>
  149.17 -</screen>
   150.1 --- a/en/examples/results/mq.tarball.qinit.out	Fri Mar 20 17:17:55 2009 +0800
   150.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   150.3 @@ -1,29 +0,0 @@
   150.4 -<screen><prompt>$</prompt> <userinput>cd netplug</userinput>
   150.5 -<prompt>$</prompt> <userinput>hg qinit</userinput>
   150.6 -<prompt>$</prompt> <userinput>hg qnew -m 'fix build problem with gcc 4' build-fix.patch</userinput>
   150.7 -<prompt>$</prompt> <userinput>perl -pi -e 's/int addr_len/socklen_t addr_len/' netlink.c</userinput>
   150.8 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
   150.9 -<prompt>$</prompt> <userinput>hg tip -p</userinput>
  150.10 -changeset:   
  150.11 -tag:         qtip
  150.12 -tag:         build-fix.patch
  150.13 -tag:         tip
  150.14 -tag:         qbase
  150.15 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  150.16 -
  150.17 -summary:     fix build problem with gcc 4
  150.18 -
  150.19 -diff -r  -r  netlink.c
  150.20 -
  150.21 -
  150.22 -@@ -275,7 +275,7 @@
  150.23 -         exit(1);
  150.24 -     }
  150.25 - 
  150.26 --    int addr_len = sizeof(addr);
  150.27 -+    socklen_t addr_len = sizeof(addr);
  150.28 - 
  150.29 -     if (getsockname(fd, (struct sockaddr *) &amp;addr, &amp;addr_len) == -1) {
  150.30 -         do_log(LOG_ERR, "Could not get socket details: %m");
  150.31 -
  150.32 -</screen>
   151.1 --- a/en/examples/results/mq.tarball.repush.out	Fri Mar 20 17:17:55 2009 +0800
   151.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   151.3 @@ -1,14 +0,0 @@
   151.4 -<screen><prompt>$</prompt> <userinput>cd ../netplug</userinput>
   151.5 -<prompt>$</prompt> <userinput>hg pull ../netplug-1.2.8</userinput>
   151.6 -pulling from ../netplug-1.2.8
   151.7 -searching for changes
   151.8 -adding changesets
   151.9 -adding manifests
  151.10 -adding file changes
  151.11 -added 1 changesets with 12 changes to 12 files
  151.12 -(run 'hg update' to get a working copy)
  151.13 -<prompt>$</prompt> <userinput>hg qpush -a</userinput>
  151.14 -(working directory not at tip)
  151.15 -applying build-fix.patch
  151.16 -now at: build-fix.patch
  151.17 -</screen>
   152.1 --- a/en/examples/results/mq.tools.lsdiff.out	Fri Mar 20 17:17:55 2009 +0800
   152.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   152.3 @@ -1,22 +0,0 @@
   152.4 -<screen><prompt>$</prompt> <userinput>lsdiff -nvv remove-redundant-null-checks.patch</userinput>
   152.5 -22	File #1  	a/drivers/char/agp/sgi-agp.c
   152.6 -	24	Hunk #1	static int __devinit agp_sgi_init(void)
   152.7 -37	File #2  	a/drivers/char/hvcs.c
   152.8 -	39	Hunk #1	static struct tty_operations hvcs_ops = 
   152.9 -	53	Hunk #2	static int hvcs_alloc_index_list(int n)
  152.10 -69	File #3  	a/drivers/message/fusion/mptfc.c
  152.11 -	71	Hunk #1	mptfc_GetFcDevPage0(MPT_ADAPTER *ioc, in
  152.12 -85	File #4  	a/drivers/message/fusion/mptsas.c
  152.13 -	87	Hunk #1	mptsas_probe_hba_phys(MPT_ADAPTER *ioc)
  152.14 -98	File #5  	a/drivers/net/fs_enet/fs_enet-mii.c
  152.15 -	100	Hunk #1	static struct fs_enet_mii_bus *create_bu
  152.16 -111	File #6  	a/drivers/net/wireless/ipw2200.c
  152.17 -	113	Hunk #1	static struct ipw_fw_error *ipw_alloc_er
  152.18 -	126	Hunk #2	static ssize_t clear_error(struct device
  152.19 -	140	Hunk #3	static void ipw_irq_tasklet(struct ipw_p
  152.20 -	150	Hunk #4	static void ipw_pci_remove(struct pci_de
  152.21 -164	File #7  	a/drivers/scsi/libata-scsi.c
  152.22 -	166	Hunk #1	int ata_cmd_ioctl(struct scsi_device *sc
  152.23 -178	File #8  	a/drivers/video/au1100fb.c
  152.24 -	180	Hunk #1	void __exit au1100fb_cleanup(void)
  152.25 -</screen>
   153.1 --- a/en/examples/results/mq.tools.tools.out	Fri Mar 20 17:17:55 2009 +0800
   153.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   153.3 @@ -1,24 +0,0 @@
   153.4 -<screen><prompt>$</prompt> <userinput>diffstat -p1 remove-redundant-null-checks.patch</userinput>
   153.5 - drivers/char/agp/sgi-agp.c        |    5 ++---
   153.6 - drivers/char/hvcs.c               |   11 +++++------
   153.7 - drivers/message/fusion/mptfc.c    |    6 ++----
   153.8 - drivers/message/fusion/mptsas.c   |    3 +--
   153.9 - drivers/net/fs_enet/fs_enet-mii.c |    3 +--
  153.10 - drivers/net/wireless/ipw2200.c    |   22 ++++++----------------
  153.11 - drivers/scsi/libata-scsi.c        |    4 +---
  153.12 - drivers/video/au1100fb.c          |    3 +--
  153.13 - 8 files changed, 19 insertions(+), 38 deletions(-)
  153.14 -<prompt>$</prompt> <userinput>filterdiff -i '*/video/*' remove-redundant-null-checks.patch</userinput>
  153.15 -
  153.16 -
  153.17 -@@ -743,8 +743,7 @@ void __exit au1100fb_cleanup(void)
  153.18 - {
  153.19 - 	driver_unregister(&amp;au1100fb_driver);
  153.20 - 
  153.21 --	if (drv_info.opt_mode)
  153.22 --		kfree(drv_info.opt_mode);
  153.23 -+	kfree(drv_info.opt_mode);
  153.24 - }
  153.25 - 
  153.26 - module_init(au1100fb_init);
  153.27 -</screen>
   154.1 --- a/en/examples/results/mq.tutorial.add.out	Fri Mar 20 17:17:55 2009 +0800
   154.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   154.3 @@ -1,5 +0,0 @@
   154.4 -<screen><prompt>$</prompt> <userinput>echo 'file 3, line 1' &gt;&gt; file3</userinput>
   154.5 -<prompt>$</prompt> <userinput>hg qnew add-file3.patch</userinput>
   154.6 -<prompt>$</prompt> <userinput>hg qnew -f add-file3.patch</userinput>
   154.7 -abort: patch "add-file3.patch" already exists
   154.8 -</screen>
   155.1 --- a/en/examples/results/mq.tutorial.qinit.out	Fri Mar 20 17:17:55 2009 +0800
   155.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   155.3 @@ -1,8 +0,0 @@
   155.4 -<screen><prompt>$</prompt> <userinput>hg init mq-sandbox</userinput>
   155.5 -<prompt>$</prompt> <userinput>cd mq-sandbox</userinput>
   155.6 -<prompt>$</prompt> <userinput>echo 'line 1' &gt; file1</userinput>
   155.7 -<prompt>$</prompt> <userinput>echo 'another line 1' &gt; file2</userinput>
   155.8 -<prompt>$</prompt> <userinput>hg add file1 file2</userinput>
   155.9 -<prompt>$</prompt> <userinput>hg commit -m'first change'</userinput>
  155.10 -<prompt>$</prompt> <userinput>hg qinit</userinput>
  155.11 -</screen>
   156.1 --- a/en/examples/results/mq.tutorial.qnew.out	Fri Mar 20 17:17:55 2009 +0800
   156.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   156.3 @@ -1,21 +0,0 @@
   156.4 -<screen><prompt>$</prompt> <userinput>hg tip</userinput>
   156.5 -changeset:   
   156.6 -tag:         tip
   156.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   156.8 -
   156.9 -summary:     first change
  156.10 -
  156.11 -<prompt>$</prompt> <userinput>hg qnew first.patch</userinput>
  156.12 -<prompt>$</prompt> <userinput>hg tip</userinput>
  156.13 -changeset:   
  156.14 -tag:         qtip
  156.15 -tag:         first.patch
  156.16 -tag:         tip
  156.17 -tag:         qbase
  156.18 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  156.19 -
  156.20 -summary:     [mq]: first.patch
  156.21 -
  156.22 -<prompt>$</prompt> <userinput>ls .hg/patches</userinput>
  156.23 -first.patch  series  status
  156.24 -</screen>
   157.1 --- a/en/examples/results/mq.tutorial.qnew2.out	Fri Mar 20 17:17:55 2009 +0800
   157.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   157.3 @@ -1,29 +0,0 @@
   157.4 -<screen><prompt>$</prompt> <userinput>hg qnew second.patch</userinput>
   157.5 -<prompt>$</prompt> <userinput>hg log --style=compact --limit=2</userinput>
   157.6 -2[qtip,second.patch,tip]      2009-03-10 04:38 +0000   bos
   157.7 -  [mq]: second.patch
   157.8 -
   157.9 -1[first.patch,qbase]      2009-03-10 04:38 +0000   bos
  157.10 -  [mq]: first.patch
  157.11 -
  157.12 -<prompt>$</prompt> <userinput>echo 'line 4' &gt;&gt; file1</userinput>
  157.13 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
  157.14 -<prompt>$</prompt> <userinput>hg tip --style=compact --patch</userinput>
  157.15 -2[qtip,second.patch,tip]      2009-03-10 04:38 +0000   bos
  157.16 -  [mq]: second.patch
  157.17 -
  157.18 -diff -r  -r  file1
  157.19 -
  157.20 -
  157.21 -@@ -1,3 +1,4 @@
  157.22 - line 1
  157.23 - line 2
  157.24 - line 3
  157.25 -+line 4
  157.26 -
  157.27 -<prompt>$</prompt> <userinput>hg annotate file1</userinput>
  157.28 -0: line 1
  157.29 -1: line 2
  157.30 -1: line 3
  157.31 -2: line 4
  157.32 -</screen>
   158.1 --- a/en/examples/results/mq.tutorial.qpop.out	Fri Mar 20 17:17:55 2009 +0800
   158.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   158.3 @@ -1,15 +0,0 @@
   158.4 -<screen><prompt>$</prompt> <userinput>hg qapplied</userinput>
   158.5 -first.patch
   158.6 -second.patch
   158.7 -<prompt>$</prompt> <userinput>hg qpop</userinput>
   158.8 -now at: first.patch
   158.9 -<prompt>$</prompt> <userinput>hg qseries</userinput>
  158.10 -first.patch
  158.11 -second.patch
  158.12 -<prompt>$</prompt> <userinput>hg qapplied</userinput>
  158.13 -first.patch
  158.14 -<prompt>$</prompt> <userinput>cat file1</userinput>
  158.15 -line 1
  158.16 -line 2
  158.17 -line 3
  158.18 -</screen>
   159.1 --- a/en/examples/results/mq.tutorial.qpush-a.out	Fri Mar 20 17:17:55 2009 +0800
   159.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   159.3 @@ -1,9 +0,0 @@
   159.4 -<screen><prompt>$</prompt> <userinput>hg qpush -a</userinput>
   159.5 -applying second.patch
   159.6 -now at: second.patch
   159.7 -<prompt>$</prompt> <userinput>cat file1</userinput>
   159.8 -line 1
   159.9 -line 2
  159.10 -line 3
  159.11 -line 4
  159.12 -</screen>
   160.1 --- a/en/examples/results/mq.tutorial.qrefresh.out	Fri Mar 20 17:17:55 2009 +0800
   160.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   160.3 @@ -1,22 +0,0 @@
   160.4 -<screen><prompt>$</prompt> <userinput>echo 'line 2' &gt;&gt; file1</userinput>
   160.5 -<prompt>$</prompt> <userinput>hg diff</userinput>
   160.6 -diff -r  file1
   160.7 -
   160.8 -
   160.9 -@@ -1,1 +1,2 @@
  160.10 - line 1
  160.11 -+line 2
  160.12 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
  160.13 -<prompt>$</prompt> <userinput>hg diff</userinput>
  160.14 -<prompt>$</prompt> <userinput>hg tip --style=compact --patch</userinput>
  160.15 -1[qtip,first.patch,tip,qbase]      2009-03-10 04:38 +0000   bos
  160.16 -  [mq]: first.patch
  160.17 -
  160.18 -diff -r  -r  file1
  160.19 -
  160.20 -
  160.21 -@@ -1,1 +1,2 @@
  160.22 - line 1
  160.23 -+line 2
  160.24 -
  160.25 -</screen>
   161.1 --- a/en/examples/results/mq.tutorial.qrefresh2.out	Fri Mar 20 17:17:55 2009 +0800
   161.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   161.3 @@ -1,17 +0,0 @@
   161.4 -<screen><prompt>$</prompt> <userinput>echo 'line 3' &gt;&gt; file1</userinput>
   161.5 -<prompt>$</prompt> <userinput>hg status</userinput>
   161.6 -M file1
   161.7 -<prompt>$</prompt> <userinput>hg qrefresh</userinput>
   161.8 -<prompt>$</prompt> <userinput>hg tip --style=compact --patch</userinput>
   161.9 -1[qtip,first.patch,tip,qbase]      2009-03-10 04:38 +0000   bos
  161.10 -  [mq]: first.patch
  161.11 -
  161.12 -diff -r  -r  file1
  161.13 -
  161.14 -
  161.15 -@@ -1,1 +1,3 @@
  161.16 - line 1
  161.17 -+line 2
  161.18 -+line 3
  161.19 -
  161.20 -</screen>
   162.1 --- a/en/examples/results/mq.tutorial.qseries.out	Fri Mar 20 17:17:55 2009 +0800
   162.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   162.3 @@ -1,7 +0,0 @@
   162.4 -<screen><prompt>$</prompt> <userinput>hg qseries</userinput>
   162.5 -first.patch
   162.6 -second.patch
   162.7 -<prompt>$</prompt> <userinput>hg qapplied</userinput>
   162.8 -first.patch
   162.9 -second.patch
  162.10 -</screen>
   163.1 --- a/en/examples/results/rename.divergent.clone.out	Fri Mar 20 17:17:55 2009 +0800
   163.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   163.3 @@ -1,7 +0,0 @@
   163.4 -<screen><prompt>$</prompt> <userinput>hg clone orig anne</userinput>
   163.5 -updating working directory
   163.6 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   163.7 -<prompt>$</prompt> <userinput>hg clone orig bob</userinput>
   163.8 -updating working directory
   163.9 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  163.10 -</screen>
   164.1 --- a/en/examples/results/rename.divergent.merge.out	Fri Mar 20 17:17:55 2009 +0800
   164.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   164.3 @@ -1,27 +0,0 @@
   164.4 -<screen># See http://www.selenic.com/mercurial/bts/issue455
   164.5 -<prompt>$</prompt> <userinput>cd ../orig</userinput>
   164.6 -<prompt>$</prompt> <userinput>hg pull -u ../anne</userinput>
   164.7 -pulling from ../anne
   164.8 -searching for changes
   164.9 -adding changesets
  164.10 -adding manifests
  164.11 -adding file changes
  164.12 -added 1 changesets with 1 changes to 1 files
  164.13 -1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  164.14 -<prompt>$</prompt> <userinput>hg pull ../bob</userinput>
  164.15 -pulling from ../bob
  164.16 -searching for changes
  164.17 -adding changesets
  164.18 -adding manifests
  164.19 -adding file changes
  164.20 -added 1 changesets with 1 changes to 1 files (+1 heads)
  164.21 -(run 'hg heads' to see heads, 'hg merge' to merge)
  164.22 -<prompt>$</prompt> <userinput>hg merge</userinput>
  164.23 -warning: detected divergent renames of foo to:
  164.24 - bar
  164.25 - quux
  164.26 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  164.27 -(branch merge, don't forget to commit)
  164.28 -<prompt>$</prompt> <userinput>ls</userinput>
  164.29 -bar  quux
  164.30 -</screen>
   165.1 --- a/en/examples/results/rename.divergent.rename.anne.out	Fri Mar 20 17:17:55 2009 +0800
   165.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   165.3 @@ -1,4 +0,0 @@
   165.4 -<screen><prompt>$</prompt> <userinput>cd anne</userinput>
   165.5 -<prompt>$</prompt> <userinput>hg mv foo bar</userinput>
   165.6 -<prompt>$</prompt> <userinput>hg ci -m 'Rename foo to bar'</userinput>
   165.7 -</screen>
   166.1 --- a/en/examples/results/rename.divergent.rename.bob.out	Fri Mar 20 17:17:55 2009 +0800
   166.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   166.3 @@ -1,4 +0,0 @@
   166.4 -<screen><prompt>$</prompt> <userinput>cd ../bob</userinput>
   166.5 -<prompt>$</prompt> <userinput>hg mv foo quux</userinput>
   166.6 -<prompt>$</prompt> <userinput>hg ci -m 'Rename foo to quux'</userinput>
   166.7 -</screen>
   167.1 --- a/en/examples/results/rollback.add.out	Fri Mar 20 17:17:55 2009 +0800
   167.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   167.3 @@ -1,3 +0,0 @@
   167.4 -<screen><prompt>$</prompt> <userinput>hg add b</userinput>
   167.5 -<prompt>$</prompt> <userinput>hg commit -m 'Add file b, this time for real'</userinput>
   167.6 -</screen>
   168.1 --- a/en/examples/results/rollback.commit.out	Fri Mar 20 17:17:55 2009 +0800
   168.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   168.3 @@ -1,5 +0,0 @@
   168.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   168.5 -M a
   168.6 -<prompt>$</prompt> <userinput>echo b &gt; b</userinput>
   168.7 -<prompt>$</prompt> <userinput>hg commit -m 'Add file b'</userinput>
   168.8 -</screen>
   169.1 --- a/en/examples/results/rollback.rollback.out	Fri Mar 20 17:17:55 2009 +0800
   169.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   169.3 @@ -1,13 +0,0 @@
   169.4 -<screen><prompt>$</prompt> <userinput>hg rollback</userinput>
   169.5 -rolling back last transaction
   169.6 -<prompt>$</prompt> <userinput>hg tip</userinput>
   169.7 -changeset:   
   169.8 -tag:         tip
   169.9 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  169.10 -
  169.11 -summary:     First commit
  169.12 -
  169.13 -<prompt>$</prompt> <userinput>hg status</userinput>
  169.14 -M a
  169.15 -? b
  169.16 -</screen>
   170.1 --- a/en/examples/results/rollback.status.out	Fri Mar 20 17:17:55 2009 +0800
   170.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   170.3 @@ -1,10 +0,0 @@
   170.4 -<screen><prompt>$</prompt> <userinput>hg status</userinput>
   170.5 -? b
   170.6 -<prompt>$</prompt> <userinput>hg tip</userinput>
   170.7 -changeset:   
   170.8 -tag:         tip
   170.9 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  170.10 -
  170.11 -summary:     Add file b
  170.12 -
  170.13 -</screen>
   171.1 --- a/en/examples/results/rollback.tip.out	Fri Mar 20 17:17:55 2009 +0800
   171.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   171.3 @@ -1,1 +0,0 @@
   171.4 -<screen></screen>
   172.1 --- a/en/examples/results/rollback.twice.out	Fri Mar 20 17:17:55 2009 +0800
   172.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   172.3 @@ -1,5 +0,0 @@
   172.4 -<screen><prompt>$</prompt> <userinput>hg rollback</userinput>
   172.5 -rolling back last transaction
   172.6 -<prompt>$</prompt> <userinput>hg rollback</userinput>
   172.7 -no rollback information available
   172.8 -</screen>
   173.1 --- a/en/examples/results/tag.init.out	Fri Mar 20 17:17:55 2009 +0800
   173.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   173.3 @@ -1,6 +0,0 @@
   173.4 -<screen><prompt>$</prompt> <userinput>hg init mytag</userinput>
   173.5 -<prompt>$</prompt> <userinput>cd mytag</userinput>
   173.6 -<prompt>$</prompt> <userinput>echo hello &gt; myfile</userinput>
   173.7 -<prompt>$</prompt> <userinput>hg commit -A -m 'Initial commit'</userinput>
   173.8 -adding myfile
   173.9 -</screen>
   174.1 --- a/en/examples/results/tag.log.out	Fri Mar 20 17:17:55 2009 +0800
   174.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   174.3 @@ -1,14 +0,0 @@
   174.4 -<screen><prompt>$</prompt> <userinput>hg log</userinput>
   174.5 -changeset:   
   174.6 -tag:         tip
   174.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   174.8 -
   174.9 -summary:     Added tag v1.0 for changeset 
  174.10 -
  174.11 -changeset:   
  174.12 -tag:         v1.0
  174.13 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  174.14 -
  174.15 -summary:     Initial commit
  174.16 -
  174.17 -</screen>
   175.1 --- a/en/examples/results/tag.log.v1.0.out	Fri Mar 20 17:17:55 2009 +0800
   175.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   175.3 @@ -1,11 +0,0 @@
   175.4 -<screen><prompt>$</prompt> <userinput>echo goodbye &gt; myfile2</userinput>
   175.5 -<prompt>$</prompt> <userinput>hg commit -A -m 'Second commit'</userinput>
   175.6 -adding myfile2
   175.7 -<prompt>$</prompt> <userinput>hg log -r v1.0</userinput>
   175.8 -changeset:   
   175.9 -tag:         v1.0
  175.10 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  175.11 -
  175.12 -summary:     Initial commit
  175.13 -
  175.14 -</screen>
   176.1 --- a/en/examples/results/tag.remove.out	Fri Mar 20 17:17:55 2009 +0800
   176.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   176.3 @@ -1,4 +0,0 @@
   176.4 -<screen><prompt>$</prompt> <userinput>hg tag --remove v1.0</userinput>
   176.5 -<prompt>$</prompt> <userinput>hg tags</userinput>
   176.6 -tip                                
   176.7 -</screen>
   177.1 --- a/en/examples/results/tag.replace.out	Fri Mar 20 17:17:55 2009 +0800
   177.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   177.3 @@ -1,11 +0,0 @@
   177.4 -<screen><prompt>$</prompt> <userinput>hg tag -r 1 v1.1</userinput>
   177.5 -<prompt>$</prompt> <userinput>hg tags</userinput>
   177.6 -tip                                
   177.7 -v1.1                               
   177.8 -<prompt>$</prompt> <userinput>hg tag -r 2 v1.1</userinput>
   177.9 -abort: tag 'v1.1' already exists (use -f to force)
  177.10 -<prompt>$</prompt> <userinput>hg tag -f -r 2 v1.1</userinput>
  177.11 -<prompt>$</prompt> <userinput>hg tags</userinput>
  177.12 -tip                                
  177.13 -v1.1                               
  177.14 -</screen>
   178.1 --- a/en/examples/results/tag.tag.out	Fri Mar 20 17:17:55 2009 +0800
   178.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   178.3 @@ -1,2 +0,0 @@
   178.4 -<screen><prompt>$</prompt> <userinput>hg tag v1.0</userinput>
   178.5 -</screen>
   179.1 --- a/en/examples/results/tag.tags.out	Fri Mar 20 17:17:55 2009 +0800
   179.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   179.3 @@ -1,4 +0,0 @@
   179.4 -<screen><prompt>$</prompt> <userinput>hg tags</userinput>
   179.5 -tip                                
   179.6 -v1.0                               
   179.7 -</screen>
   180.1 --- a/en/examples/results/tag.tip.out	Fri Mar 20 17:17:55 2009 +0800
   180.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   180.3 @@ -1,8 +0,0 @@
   180.4 -<screen><prompt>$</prompt> <userinput>hg tip</userinput>
   180.5 -changeset:   
   180.6 -tag:         tip
   180.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   180.8 -
   180.9 -summary:     Added tag v1.1 for changeset 
  180.10 -
  180.11 -</screen>
   181.1 --- a/en/examples/results/template.simple.changelog.out	Fri Mar 20 17:17:55 2009 +0800
   181.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   181.3 @@ -1,23 +0,0 @@
   181.4 -
   181.5 -
   181.6 -
   181.7 -
   181.8 -
   181.9 -
  181.10 -
  181.11 -
  181.12 -
  181.13 -
  181.14 -
  181.15 -
  181.16 -
  181.17 -
  181.18 -
  181.19 -
  181.20 -
  181.21 -
  181.22 -
  181.23 -
  181.24 -
  181.25 -
  181.26 -
   182.1 --- a/en/examples/results/template.simple.combine.out	Fri Mar 20 17:17:55 2009 +0800
   182.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   182.3 @@ -1,7 +0,0 @@
   182.4 -
   182.5 -
   182.6 -
   182.7 -
   182.8 -
   182.9 -
  182.10 -
   183.1 --- a/en/examples/results/template.simple.compact.out	Fri Mar 20 17:17:55 2009 +0800
   183.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   183.3 @@ -1,14 +0,0 @@
   183.4 -
   183.5 -
   183.6 -
   183.7 -
   183.8 -
   183.9 -
  183.10 -
  183.11 -
  183.12 -
  183.13 -
  183.14 -
  183.15 -
  183.16 -
  183.17 -
   184.1 --- a/en/examples/results/template.simple.datekeyword.out	Fri Mar 20 17:17:55 2009 +0800
   184.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   184.3 @@ -1,5 +0,0 @@
   184.4 -
   184.5 -
   184.6 -
   184.7 -
   184.8 -
   185.1 --- a/en/examples/results/template.simple.keywords.out	Fri Mar 20 17:17:55 2009 +0800
   185.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   185.3 @@ -1,22 +0,0 @@
   185.4 -
   185.5 -
   185.6 -
   185.7 -
   185.8 -
   185.9 -
  185.10 -
  185.11 -
  185.12 -
  185.13 -
  185.14 -
  185.15 -
  185.16 -
  185.17 -
  185.18 -
  185.19 -
  185.20 -
  185.21 -
  185.22 -
  185.23 -
  185.24 -
  185.25 -
   187.1 --- a/en/examples/results/template.simple.normal.out	Fri Mar 20 17:17:55 2009 +0800
   187.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   187.3 @@ -1,8 +0,0 @@
   187.4 -
   187.5 -
   187.6 -
   187.7 -
   187.8 -
   187.9 -
  187.10 -
  187.11 -
   188.1 --- a/en/examples/results/template.simple.rev.out	Fri Mar 20 17:17:55 2009 +0800
   188.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   188.3 @@ -1,4 +0,0 @@
   188.4 -
   188.5 -
   188.6 -
   188.7 -
   189.1 --- a/en/examples/results/template.simple.simplest.out	Fri Mar 20 17:17:55 2009 +0800
   189.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   189.3 @@ -1,3 +0,0 @@
   189.4 -
   189.5 -
   189.6 -
   190.1 --- a/en/examples/results/template.simple.simplesub.out	Fri Mar 20 17:17:55 2009 +0800
   190.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   190.3 @@ -1,8 +0,0 @@
   190.4 -
   190.5 -
   190.6 -
   190.7 -
   190.8 -
   190.9 -
  190.10 -
  190.11 -
   191.1 --- a/en/examples/results/template.svnstyle.id.out	Fri Mar 20 17:17:55 2009 +0800
   191.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   191.3 @@ -1,2 +0,0 @@
   191.4 -<screen><prompt>$</prompt> <userinput>hg log -r0 --template '{node}'</userinput>
   191.5 -</screen>
   192.1 --- a/en/examples/results/template.svnstyle.result.out	Fri Mar 20 17:17:55 2009 +0800
   192.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   192.3 @@ -1,12 +0,0 @@
   192.4 -<screen><prompt>$</prompt> <userinput>hg log -r1 --style svn.style</userinput>
   192.5 -------------------------------------------------------------------------
   192.6 -
   192.7 -r1 | bos | 
   192.8 -
   192.9 -added line to end of &lt;&lt;hello&gt;&gt; file.
  192.10 -
  192.11 -in addition, added a file with the helpful name (at least i hope that some
  192.12 -might consider it so) of goodbye.
  192.13 -
  192.14 -------------------------------------------------------------------------
  192.15 -</screen>
   193.1 --- a/en/examples/results/template.svnstyle.short.out	Fri Mar 20 17:17:55 2009 +0800
   193.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   193.3 @@ -1,11 +0,0 @@
   193.4 -<screen><prompt>$</prompt> <userinput>svn log -r9653</userinput>
   193.5 -------------------------------------------------------------------------
   193.6 -r9653 | sean.hefty | 2006-09-27 14:39:55 -0700 (Wed, 27 Sep 2006) | 5 lines
   193.7 -
   193.8 -On reporting a route error, also include the status for the error,
   193.9 -rather than indicating a status of 0 when an error has occurred.
  193.10 -
  193.11 -Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
  193.12 -
  193.13 -------------------------------------------------------------------------
  193.14 -</screen>
   194.1 --- a/en/examples/results/template.svnstyle.simplest.out	Fri Mar 20 17:17:55 2009 +0800
   194.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   194.3 @@ -1,5 +0,0 @@
   194.4 -<screen><prompt>$</prompt> <userinput>cat svn.style</userinput>
   194.5 -changeset = "{node|short}\n"
   194.6 -<prompt>$</prompt> <userinput>hg log -r1 --style svn.style</userinput>
   194.7 -
   194.8 -</screen>
   195.1 --- a/en/examples/results/template.svnstyle.style.out	Fri Mar 20 17:17:55 2009 +0800
   195.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   195.3 @@ -1,4 +0,0 @@
   195.4 -<screen><prompt>$</prompt> <userinput>cat svn.style</userinput>
   195.5 -header = '------------------------------------------------------------------------\n\n'
   195.6 -changeset = svn.template
   195.7 -</screen>
   196.1 --- a/en/examples/results/template.svnstyle.syntax.error.out	Fri Mar 20 17:17:55 2009 +0800
   196.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   196.3 @@ -1,3 +0,0 @@
   196.4 -<screen><prompt>$</prompt> <userinput>hg log -r1 --style broken.style</userinput>
   196.5 -abort: broken.style:1: parse error
   196.6 -</screen>
   197.1 --- a/en/examples/results/template.svnstyle.syntax.input.out	Fri Mar 20 17:17:55 2009 +0800
   197.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   197.3 @@ -1,3 +0,0 @@
   197.4 -<screen><prompt>$</prompt> <userinput>cat broken.style</userinput>
   197.5 -changeset =
   197.6 -</screen>
   198.1 --- a/en/examples/results/template.svnstyle.template.out	Fri Mar 20 17:17:55 2009 +0800
   198.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   198.3 @@ -1,7 +0,0 @@
   198.4 -<screen><prompt>$</prompt> <userinput>cat svn.template</userinput>
   198.5 -r{rev} | {author|user} | {date|isodate} ({date|rfc822date})
   198.6 -
   198.7 -{desc|strip|fill76}
   198.8 -
   198.9 -------------------------------------------------------------------------
  198.10 -</screen>
   199.1 --- a/en/examples/results/tour-merge-conflict.commit.out	Fri Mar 20 17:17:55 2009 +0800
   199.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   199.3 @@ -1,17 +0,0 @@
   199.4 -<screen><prompt>$</prompt> <userinput>cat &gt; letter.txt &lt;&lt;EOF</userinput>
   199.5 -<prompt>></prompt> <userinput>Greetings!</userinput>
   199.6 -<prompt>></prompt> <userinput>I am Bryan O'Sullivan, no relation of the former</userinput>
   199.7 -<prompt>></prompt> <userinput>Nigerian dictator Sani Abacha.</userinput>
   199.8 -<prompt>></prompt> <userinput>EOF</userinput>
   199.9 -<prompt>$</prompt> <userinput>hg resolve -m letter.txt</userinput>
  199.10 -<prompt>$</prompt> <userinput>hg commit -m 'Send me your money'</userinput>
  199.11 -<prompt>$</prompt> <userinput>hg tip</userinput>
  199.12 -changeset:   
  199.13 -tag:         tip
  199.14 -parent:      
  199.15 -parent:      
  199.16 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  199.17 -
  199.18 -summary:     Send me your money
  199.19 -
  199.20 -</screen>
   200.1 --- a/en/examples/results/tour-merge-conflict.cousin.out	Fri Mar 20 17:17:55 2009 +0800
   200.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   200.3 @@ -1,12 +0,0 @@
   200.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   200.5 -<prompt>$</prompt> <userinput>hg clone scam scam-cousin</userinput>
   200.6 -updating working directory
   200.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   200.8 -<prompt>$</prompt> <userinput>cd scam-cousin</userinput>
   200.9 -<prompt>$</prompt> <userinput>cat &gt; letter.txt &lt;&lt;EOF</userinput>
  200.10 -<prompt>></prompt> <userinput>Greetings!</userinput>
  200.11 -<prompt>></prompt> <userinput>I am Shehu Musa Abacha, cousin to the former</userinput>
  200.12 -<prompt>></prompt> <userinput>Nigerian dictator Sani Abacha.</userinput>
  200.13 -<prompt>></prompt> <userinput>EOF</userinput>
  200.14 -<prompt>$</prompt> <userinput>hg commit -m '419 scam, with cousin'</userinput>
  200.15 -</screen>
   201.1 --- a/en/examples/results/tour-merge-conflict.merge.out	Fri Mar 20 17:17:55 2009 +0800
   201.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   201.3 @@ -1,18 +0,0 @@
   201.4 -<screen><prompt>$</prompt> <userinput>export HGMERGE=merge</userinput>
   201.5 -<prompt>$</prompt> <userinput>echo 'XXX this is broken and must be fixed'</userinput>
   201.6 -XXX this is broken and must be fixed
   201.7 -<prompt>$</prompt> <userinput>hg merge</userinput>
   201.8 -merging letter.txt
   201.9 -merge: warning: conflicts during merge
  201.10 -merging letter.txt failed!
  201.11 -0 files updated, 0 files merged, 0 files removed, 1 files unresolved
  201.12 -use 'hg resolve' to retry unresolved file merges
  201.13 -<prompt>$</prompt> <userinput>cat letter.txt</userinput>
  201.14 -Greetings!
  201.15 -&lt;&lt;&lt;&lt;&lt;&lt;&lt; /tmp/tour-merge-conflictBrdfE0/scam-merge/letter.txt
  201.16 -I am Shehu Musa Abacha, cousin to the former
  201.17 -=======
  201.18 -I am Alhaji Abba Abacha, son of the former
  201.19 -&gt;&gt;&gt;&gt;&gt;&gt;&gt; /tmp/letter.txt~other.1ctEYy
  201.20 -Nigerian dictator Sani Abacha.
  201.21 -</screen>
   202.1 --- a/en/examples/results/tour-merge-conflict.pull.out	Fri Mar 20 17:17:55 2009 +0800
   202.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   202.3 @@ -1,15 +0,0 @@
   202.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   202.5 -<prompt>$</prompt> <userinput>hg clone scam-cousin scam-merge</userinput>
   202.6 -updating working directory
   202.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   202.8 -<prompt>$</prompt> <userinput>cd scam-merge</userinput>
   202.9 -<prompt>$</prompt> <userinput>hg pull -u ../scam-son</userinput>
  202.10 -pulling from ../scam-son
  202.11 -searching for changes
  202.12 -adding changesets
  202.13 -adding manifests
  202.14 -adding file changes
  202.15 -added 1 changesets with 1 changes to 1 files (+1 heads)
  202.16 -not updating, since new heads added
  202.17 -(run 'hg heads' to see heads, 'hg merge' to merge)
  202.18 -</screen>
   203.1 --- a/en/examples/results/tour-merge-conflict.son.out	Fri Mar 20 17:17:55 2009 +0800
   203.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   203.3 @@ -1,12 +0,0 @@
   203.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   203.5 -<prompt>$</prompt> <userinput>hg clone scam scam-son</userinput>
   203.6 -updating working directory
   203.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   203.8 -<prompt>$</prompt> <userinput>cd scam-son</userinput>
   203.9 -<prompt>$</prompt> <userinput>cat &gt; letter.txt &lt;&lt;EOF</userinput>
  203.10 -<prompt>></prompt> <userinput>Greetings!</userinput>
  203.11 -<prompt>></prompt> <userinput>I am Alhaji Abba Abacha, son of the former</userinput>
  203.12 -<prompt>></prompt> <userinput>Nigerian dictator Sani Abacha.</userinput>
  203.13 -<prompt>></prompt> <userinput>EOF</userinput>
  203.14 -<prompt>$</prompt> <userinput>hg commit -m '419 scam, with son'</userinput>
  203.15 -</screen>
   204.1 --- a/en/examples/results/tour-merge-conflict.wife.out	Fri Mar 20 17:17:55 2009 +0800
   204.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   204.3 @@ -1,8 +0,0 @@
   204.4 -<screen><prompt>$</prompt> <userinput>cat &gt; letter.txt &lt;&lt;EOF</userinput>
   204.5 -<prompt>></prompt> <userinput>Greetings!</userinput>
   204.6 -<prompt>></prompt> <userinput>I am Mariam Abacha, the wife of former</userinput>
   204.7 -<prompt>></prompt> <userinput>Nigerian dictator Sani Abacha.</userinput>
   204.8 -<prompt>></prompt> <userinput>EOF</userinput>
   204.9 -<prompt>$</prompt> <userinput>hg add letter.txt</userinput>
  204.10 -<prompt>$</prompt> <userinput>hg commit -m '419 scam, first draft'</userinput>
  204.11 -</screen>
   205.1 --- a/en/examples/results/tour.clone-pull.out	Fri Mar 20 17:17:55 2009 +0800
   205.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   205.3 @@ -1,5 +0,0 @@
   205.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   205.5 -<prompt>$</prompt> <userinput>hg clone hello hello-pull</userinput>
   205.6 -updating working directory
   205.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   205.8 -</screen>
   206.1 --- a/en/examples/results/tour.clone-push.out	Fri Mar 20 17:17:55 2009 +0800
   206.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   206.3 @@ -1,5 +0,0 @@
   206.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   206.5 -<prompt>$</prompt> <userinput>hg clone hello hello-push</userinput>
   206.6 -updating working directory
   206.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   206.8 -</screen>
   207.1 --- a/en/examples/results/tour.clone.out	Fri Mar 20 17:17:55 2009 +0800
   207.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   207.3 @@ -1,10 +0,0 @@
   207.4 -<screen><prompt>$</prompt> <userinput>hg clone http://hg.serpentine.com/tutorial/hello</userinput>
   207.5 -destination directory: hello
   207.6 -requesting all changes
   207.7 -adding changesets
   207.8 -adding manifests
   207.9 -adding file changes
  207.10 -added 5 changesets with 5 changes to 2 files
  207.11 -updating working directory
  207.12 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  207.13 -</screen>
   208.1 --- a/en/examples/results/tour.commit.out	Fri Mar 20 17:17:55 2009 +0800
   208.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   208.3 @@ -1,2 +0,0 @@
   208.4 -<screen><prompt>$</prompt> <userinput>hg commit</userinput>
   208.5 -</screen>
   209.1 --- a/en/examples/results/tour.diff.out	Fri Mar 20 17:17:55 2009 +0800
   209.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   209.3 @@ -1,12 +0,0 @@
   209.4 -<screen><prompt>$</prompt> <userinput>hg diff</userinput>
   209.5 -diff -r  hello.c
   209.6 -
   209.7 -
   209.8 -@@ -8,5 +8,6 @@
   209.9 - int main(int argc, char **argv)
  209.10 - {
  209.11 - 	printf("hello, world!\");
  209.12 -+	printf("hello again!\n");
  209.13 - 	return 0;
  209.14 - }
  209.15 -</screen>
   210.1 --- a/en/examples/results/tour.help.out	Fri Mar 20 17:17:55 2009 +0800
   210.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   210.3 @@ -1,20 +0,0 @@
   210.4 -<screen><prompt>$</prompt> <userinput>hg help init</userinput>
   210.5 -hg init [-e CMD] [--remotecmd CMD] [DEST]
   210.6 -
   210.7 -create a new repository in the given directory
   210.8 -
   210.9 -    Initialize a new repository in the given directory. If the given
  210.10 -    directory does not exist, it is created.
  210.11 -
  210.12 -    If no directory is given, the current directory is used.
  210.13 -
  210.14 -    It is possible to specify an ssh:// URL as the destination.
  210.15 -    See 'hg help urls' for more information.
  210.16 -
  210.17 -options:
  210.18 -
  210.19 - -e --ssh        specify ssh command to use
  210.20 -    --remotecmd  specify hg command to run on the remote side
  210.21 -
  210.22 -use "hg -v help init" to show global options
  210.23 -</screen>
   211.1 --- a/en/examples/results/tour.incoming.out	Fri Mar 20 17:17:55 2009 +0800
   211.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   211.3 @@ -1,11 +0,0 @@
   211.4 -<screen><prompt>$</prompt> <userinput>cd hello-pull</userinput>
   211.5 -<prompt>$</prompt> <userinput>hg incoming ../my-hello</userinput>
   211.6 -comparing with ../my-hello
   211.7 -searching for changes
   211.8 -changeset:   
   211.9 -tag:         tip
  211.10 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  211.11 -
  211.12 -summary:     Added an extra line of output
  211.13 -
  211.14 -</screen>
   212.1 --- a/en/examples/results/tour.log-r.out	Fri Mar 20 17:17:55 2009 +0800
   212.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   212.3 @@ -1,25 +0,0 @@
   212.4 -<screen><prompt>$</prompt> <userinput>hg log -r 3</userinput>
   212.5 -changeset:   
   212.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   212.7 -
   212.8 -summary:     Get make to generate the final binary from a .o file.
   212.9 -
  212.10 -<prompt>$</prompt> <userinput>hg log -r </userinput>
  212.11 -changeset:   
  212.12 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  212.13 -
  212.14 -summary:     Get make to generate the final binary from a .o file.
  212.15 -
  212.16 -<prompt>$</prompt> <userinput>hg log -r 1 -r 4</userinput>
  212.17 -changeset:   
  212.18 -user:        mpm@selenic.com
  212.19 -
  212.20 -summary:     Create a makefile
  212.21 -
  212.22 -changeset:   
  212.23 -tag:         tip
  212.24 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  212.25 -
  212.26 -summary:     Trim comments.
  212.27 -
  212.28 -</screen>
   213.1 --- a/en/examples/results/tour.log-v.out	Fri Mar 20 17:17:55 2009 +0800
   213.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   213.3 @@ -1,10 +0,0 @@
   213.4 -<screen><prompt>$</prompt> <userinput>hg log -v -r 3</userinput>
   213.5 -changeset:   
   213.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   213.7 -
   213.8 -files:       Makefile
   213.9 -description:
  213.10 -Get make to generate the final binary from a .o file.
  213.11 -
  213.12 -
  213.13 -</screen>
   214.1 --- a/en/examples/results/tour.log-vp.out	Fri Mar 20 17:17:55 2009 +0800
   214.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   214.3 @@ -1,22 +0,0 @@
   214.4 -<screen><prompt>$</prompt> <userinput>hg log -v -p -r 2</userinput>
   214.5 -changeset:   
   214.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   214.7 -
   214.8 -files:       hello.c
   214.9 -description:
  214.10 -Introduce a typo into hello.c.
  214.11 -
  214.12 -
  214.13 -diff -r  -r  hello.c
  214.14 -
  214.15 -
  214.16 -@@ -11,6 +11,6 @@
  214.17 - 
  214.18 - int main(int argc, char **argv)
  214.19 - {
  214.20 --	printf("hello, world!\n");
  214.21 -+	printf("hello, world!\");
  214.22 - 	return 0;
  214.23 - }
  214.24 -
  214.25 -</screen>
   215.1 --- a/en/examples/results/tour.log.out	Fri Mar 20 17:17:55 2009 +0800
   215.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   215.3 @@ -1,28 +0,0 @@
   215.4 -<screen><prompt>$</prompt> <userinput>hg log</userinput>
   215.5 -changeset:   
   215.6 -tag:         tip
   215.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   215.8 -
   215.9 -summary:     Trim comments.
  215.10 -
  215.11 -changeset:   
  215.12 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  215.13 -
  215.14 -summary:     Get make to generate the final binary from a .o file.
  215.15 -
  215.16 -changeset:   
  215.17 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  215.18 -
  215.19 -summary:     Introduce a typo into hello.c.
  215.20 -
  215.21 -changeset:   
  215.22 -user:        mpm@selenic.com
  215.23 -
  215.24 -summary:     Create a makefile
  215.25 -
  215.26 -changeset:   
  215.27 -user:        mpm@selenic.com
  215.28 -
  215.29 -summary:     Create a standard "hello, world" program
  215.30 -
  215.31 -</screen>
   216.1 --- a/en/examples/results/tour.log.range.out	Fri Mar 20 17:17:55 2009 +0800
   216.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   216.3 @@ -1,18 +0,0 @@
   216.4 -<screen><prompt>$</prompt> <userinput>hg log -r 2:4</userinput>
   216.5 -changeset:   
   216.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   216.7 -
   216.8 -summary:     Introduce a typo into hello.c.
   216.9 -
  216.10 -changeset:   
  216.11 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  216.12 -
  216.13 -summary:     Get make to generate the final binary from a .o file.
  216.14 -
  216.15 -changeset:   
  216.16 -tag:         tip
  216.17 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  216.18 -
  216.19 -summary:     Trim comments.
  216.20 -
  216.21 -</screen>
   217.1 --- a/en/examples/results/tour.ls-a.out	Fri Mar 20 17:17:55 2009 +0800
   217.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   217.3 @@ -1,4 +0,0 @@
   217.4 -<screen><prompt>$</prompt> <userinput>cd hello</userinput>
   217.5 -<prompt>$</prompt> <userinput>ls -a</userinput>
   217.6 -.  ..  .hg  Makefile  hello.c
   217.7 -</screen>
   218.1 --- a/en/examples/results/tour.ls.out	Fri Mar 20 17:17:55 2009 +0800
   218.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   218.3 @@ -1,6 +0,0 @@
   218.4 -<screen><prompt>$</prompt> <userinput>ls -l</userinput>
   218.5 -
   218.6 -
   218.7 -<prompt>$</prompt> <userinput>ls hello</userinput>
   218.8 -Makefile  hello.c
   218.9 -</screen>
   219.1 --- a/en/examples/results/tour.merge.cat.out	Fri Mar 20 17:17:55 2009 +0800
   219.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   219.3 @@ -1,29 +0,0 @@
   219.4 -<screen><prompt>$</prompt> <userinput>cat hello.c</userinput>
   219.5 -/*
   219.6 - * Placed in the public domain by Bryan O'Sullivan.  This program is
   219.7 - * not covered by patents in the United States or other countries.
   219.8 - */
   219.9 -
  219.10 -#include &lt;stdio.h&gt;
  219.11 -
  219.12 -int main(int argc, char **argv)
  219.13 -{
  219.14 -	printf("once more, hello.\n");
  219.15 -	printf("hello, world!\");
  219.16 -	return 0;
  219.17 -}
  219.18 -<prompt>$</prompt> <userinput>cat ../my-hello/hello.c</userinput>
  219.19 -/*
  219.20 - * Placed in the public domain by Bryan O'Sullivan.  This program is
  219.21 - * not covered by patents in the United States or other countries.
  219.22 - */
  219.23 -
  219.24 -#include &lt;stdio.h&gt;
  219.25 -
  219.26 -int main(int argc, char **argv)
  219.27 -{
  219.28 -	printf("hello, world!\");
  219.29 -	printf("hello again!\n");
  219.30 -	return 0;
  219.31 -}
  219.32 -</screen>
   220.1 --- a/en/examples/results/tour.merge.clone.out	Fri Mar 20 17:17:55 2009 +0800
   220.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   220.3 @@ -1,8 +0,0 @@
   220.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   220.5 -<prompt>$</prompt> <userinput>hg clone hello my-new-hello</userinput>
   220.6 -updating working directory
   220.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   220.8 -<prompt>$</prompt> <userinput>cd my-new-hello</userinput>
   220.9 -<prompt>$</prompt> <userinput>sed -i '/printf/i\\tprintf("once more, hello.\\n");' hello.c</userinput>
  220.10 -<prompt>$</prompt> <userinput>hg commit -m 'A new hello for a new day.'</userinput>
  220.11 -</screen>
   221.1 --- a/en/examples/results/tour.merge.commit.out	Fri Mar 20 17:17:55 2009 +0800
   221.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   221.3 @@ -1,2 +0,0 @@
   221.4 -<screen><prompt>$</prompt> <userinput>hg commit -m 'Merged changes'</userinput>
   221.5 -</screen>
   222.1 --- a/en/examples/results/tour.merge.heads.out	Fri Mar 20 17:17:55 2009 +0800
   222.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   222.3 @@ -1,14 +0,0 @@
   222.4 -<screen><prompt>$</prompt> <userinput>hg heads</userinput>
   222.5 -changeset:   
   222.6 -tag:         tip
   222.7 -parent:      
   222.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   222.9 -
  222.10 -summary:     Added an extra line of output
  222.11 -
  222.12 -changeset:   
  222.13 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  222.14 -
  222.15 -summary:     A new hello for a new day.
  222.16 -
  222.17 -</screen>
   223.1 --- a/en/examples/results/tour.merge.merge.out	Fri Mar 20 17:17:55 2009 +0800
   223.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   223.3 @@ -1,5 +0,0 @@
   223.4 -<screen><prompt>$</prompt> <userinput>hg merge</userinput>
   223.5 -merging hello.c
   223.6 -0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   223.7 -(branch merge, don't forget to commit)
   223.8 -</screen>
   224.1 --- a/en/examples/results/tour.merge.parents.out	Fri Mar 20 17:17:55 2009 +0800
   224.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   224.3 @@ -1,29 +0,0 @@
   224.4 -<screen><prompt>$</prompt> <userinput>hg parents</userinput>
   224.5 -changeset:   
   224.6 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   224.7 -
   224.8 -summary:     A new hello for a new day.
   224.9 -
  224.10 -changeset:   
  224.11 -tag:         tip
  224.12 -parent:      
  224.13 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  224.14 -
  224.15 -summary:     Added an extra line of output
  224.16 -
  224.17 -<prompt>$</prompt> <userinput>cat hello.c</userinput>
  224.18 -/*
  224.19 - * Placed in the public domain by Bryan O'Sullivan.  This program is
  224.20 - * not covered by patents in the United States or other countries.
  224.21 - */
  224.22 -
  224.23 -#include &lt;stdio.h&gt;
  224.24 -
  224.25 -int main(int argc, char **argv)
  224.26 -{
  224.27 -	printf("once more, hello.\n");
  224.28 -	printf("hello, world!\");
  224.29 -	printf("hello again!\n");
  224.30 -	return 0;
  224.31 -}
  224.32 -</screen>
   225.1 --- a/en/examples/results/tour.merge.pull.out	Fri Mar 20 17:17:55 2009 +0800
   225.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   225.3 @@ -1,9 +0,0 @@
   225.4 -<screen><prompt>$</prompt> <userinput>hg pull ../my-hello</userinput>
   225.5 -pulling from ../my-hello
   225.6 -searching for changes
   225.7 -adding changesets
   225.8 -adding manifests
   225.9 -adding file changes
  225.10 -added 1 changesets with 1 changes to 1 files (+1 heads)
  225.11 -(run 'hg heads' to see heads, 'hg merge' to merge)
  225.12 -</screen>
   226.1 --- a/en/examples/results/tour.merge.tip.out	Fri Mar 20 17:17:55 2009 +0800
   226.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   226.3 @@ -1,10 +0,0 @@
   226.4 -<screen><prompt>$</prompt> <userinput>hg tip</userinput>
   226.5 -changeset:   
   226.6 -tag:         tip
   226.7 -parent:      
   226.8 -parent:      
   226.9 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  226.10 -
  226.11 -summary:     Merged changes
  226.12 -
  226.13 -</screen>
   227.1 --- a/en/examples/results/tour.merge.update.out	Fri Mar 20 17:17:55 2009 +0800
   227.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   227.3 @@ -1,3 +0,0 @@
   227.4 -<screen><prompt>$</prompt> <userinput>hg update</userinput>
   227.5 -abort: crosses branches (use 'hg merge' or 'hg update -C')
   227.6 -</screen>
   228.1 --- a/en/examples/results/tour.older.out	Fri Mar 20 17:17:55 2009 +0800
   228.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   228.3 @@ -1,11 +0,0 @@
   228.4 -<screen><prompt>$</prompt> <userinput>hg update 2</userinput>
   228.5 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   228.6 -<prompt>$</prompt> <userinput>hg parents</userinput>
   228.7 -changeset:   
   228.8 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   228.9 -
  228.10 -summary:     Introduce a typo into hello.c.
  228.11 -
  228.12 -<prompt>$</prompt> <userinput>hg update</userinput>
  228.13 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  228.14 -</screen>
   229.1 --- a/en/examples/results/tour.outgoing.net.out	Fri Mar 20 17:17:55 2009 +0800
   229.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   229.3 @@ -1,10 +0,0 @@
   229.4 -<screen><prompt>$</prompt> <userinput>hg outgoing http://hg.serpentine.com/tutorial/hello</userinput>
   229.5 -comparing with http://hg.serpentine.com/tutorial/hello
   229.6 -searching for changes
   229.7 -changeset:   
   229.8 -tag:         tip
   229.9 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  229.10 -
  229.11 -summary:     Added an extra line of output
  229.12 -
  229.13 -</screen>
   230.1 --- a/en/examples/results/tour.outgoing.out	Fri Mar 20 17:17:55 2009 +0800
   230.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   230.3 @@ -1,11 +0,0 @@
   230.4 -<screen><prompt>$</prompt> <userinput>cd my-hello</userinput>
   230.5 -<prompt>$</prompt> <userinput>hg outgoing ../hello-push</userinput>
   230.6 -comparing with ../hello-push
   230.7 -searching for changes
   230.8 -changeset:   
   230.9 -tag:         tip
  230.10 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  230.11 -
  230.12 -summary:     Added an extra line of output
  230.13 -
  230.14 -</screen>
   231.1 --- a/en/examples/results/tour.parents.out	Fri Mar 20 17:17:55 2009 +0800
   231.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   231.3 @@ -1,8 +0,0 @@
   231.4 -<screen><prompt>$</prompt> <userinput>hg parents</userinput>
   231.5 -changeset:   
   231.6 -tag:         tip
   231.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   231.8 -
   231.9 -summary:     Added an extra line of output
  231.10 -
  231.11 -</screen>
   232.1 --- a/en/examples/results/tour.pull.out	Fri Mar 20 17:17:55 2009 +0800
   232.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   232.3 @@ -1,23 +0,0 @@
   232.4 -<screen><prompt>$</prompt> <userinput>hg tip</userinput>
   232.5 -changeset:   
   232.6 -tag:         tip
   232.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   232.8 -
   232.9 -summary:     Trim comments.
  232.10 -
  232.11 -<prompt>$</prompt> <userinput>hg pull ../my-hello</userinput>
  232.12 -pulling from ../my-hello
  232.13 -searching for changes
  232.14 -adding changesets
  232.15 -adding manifests
  232.16 -adding file changes
  232.17 -added 1 changesets with 1 changes to 1 files
  232.18 -(run 'hg update' to get a working copy)
  232.19 -<prompt>$</prompt> <userinput>hg tip</userinput>
  232.20 -changeset:   
  232.21 -tag:         tip
  232.22 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
  232.23 -
  232.24 -summary:     Added an extra line of output
  232.25 -
  232.26 -</screen>
   233.1 --- a/en/examples/results/tour.push.net.out	Fri Mar 20 17:17:55 2009 +0800
   233.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   233.3 @@ -1,5 +0,0 @@
   233.4 -<screen><prompt>$</prompt> <userinput>hg push http://hg.serpentine.com/tutorial/hello</userinput>
   233.5 -pushing to http://hg.serpentine.com/tutorial/hello
   233.6 -searching for changes
   233.7 -ssl required
   233.8 -</screen>
   234.1 --- a/en/examples/results/tour.push.nothing.out	Fri Mar 20 17:17:55 2009 +0800
   234.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   234.3 @@ -1,5 +0,0 @@
   234.4 -<screen><prompt>$</prompt> <userinput>hg push ../hello-push</userinput>
   234.5 -pushing to ../hello-push
   234.6 -searching for changes
   234.7 -no changes found
   234.8 -</screen>
   235.1 --- a/en/examples/results/tour.push.out	Fri Mar 20 17:17:55 2009 +0800
   235.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   235.3 @@ -1,8 +0,0 @@
   235.4 -<screen><prompt>$</prompt> <userinput>hg push ../hello-push</userinput>
   235.5 -pushing to ../hello-push
   235.6 -searching for changes
   235.7 -adding changesets
   235.8 -adding manifests
   235.9 -adding file changes
  235.10 -added 1 changesets with 1 changes to 1 files
  235.11 -</screen>
   236.1 --- a/en/examples/results/tour.reclone.out	Fri Mar 20 17:17:55 2009 +0800
   236.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   236.3 @@ -1,6 +0,0 @@
   236.4 -<screen><prompt>$</prompt> <userinput>cd ..</userinput>
   236.5 -<prompt>$</prompt> <userinput>hg clone hello my-hello</userinput>
   236.6 -updating working directory
   236.7 -2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   236.8 -<prompt>$</prompt> <userinput>cd my-hello</userinput>
   236.9 -</screen>
   237.1 --- a/en/examples/results/tour.sed.out	Fri Mar 20 17:17:55 2009 +0800
   237.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   237.3 @@ -1,2 +0,0 @@
   237.4 -<screen><prompt>$</prompt> <userinput>sed -i '/printf/a\\tprintf("hello again!\\n");' hello.c</userinput>
   237.5 -</screen>
   238.1 --- a/en/examples/results/tour.status.out	Fri Mar 20 17:17:55 2009 +0800
   238.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   238.3 @@ -1,5 +0,0 @@
   238.4 -<screen><prompt>$</prompt> <userinput>ls</userinput>
   238.5 -Makefile  hello.c
   238.6 -<prompt>$</prompt> <userinput>hg status</userinput>
   238.7 -M hello.c
   238.8 -</screen>
   239.1 --- a/en/examples/results/tour.tip.out	Fri Mar 20 17:17:55 2009 +0800
   239.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   239.3 @@ -1,22 +0,0 @@
   239.4 -<screen><prompt>$</prompt> <userinput>hg tip -vp</userinput>
   239.5 -changeset:   
   239.6 -tag:         tip
   239.7 -user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   239.8 -
   239.9 -files:       hello.c
  239.10 -description:
  239.11 -Added an extra line of output
  239.12 -
  239.13 -
  239.14 -diff -r  -r  hello.c
  239.15 -
  239.16 -
  239.17 -@@ -8,5 +8,6 @@
  239.18 - int main(int argc, char **argv)
  239.19 - {
  239.20 - 	printf("hello, world!\");
  239.21 -+	printf("hello again!\n");
  239.22 - 	return 0;
  239.23 - }
  239.24 -
  239.25 -</screen>
   240.1 --- a/en/examples/results/tour.update.out	Fri Mar 20 17:17:55 2009 +0800
   240.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   240.3 @@ -1,8 +0,0 @@
   240.4 -<screen><prompt>$</prompt> <userinput>grep printf hello.c</userinput>
   240.5 -	printf("hello, world!\");
   240.6 -<prompt>$</prompt> <userinput>hg update tip</userinput>
   240.7 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   240.8 -<prompt>$</prompt> <userinput>grep printf hello.c</userinput>
   240.9 -	printf("hello, world!\");
  240.10 -	printf("hello again!\n");
  240.11 -</screen>
   241.1 --- a/en/examples/results/tour.version.out	Fri Mar 20 17:17:55 2009 +0800
   241.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   241.3 @@ -1,7 +0,0 @@
   241.4 -<screen><prompt>$</prompt> <userinput>hg version</userinput>
   241.5 -Mercurial Distributed SCM (version )
   241.6 -
   241.7 -Copyright (C) 2005-2008 Matt Mackall &lt;mpm@selenic.com&gt; and others
   241.8 -This is free software; see the source for copying conditions. There is NO
   241.9 -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  241.10 -</screen>
   242.1 --- a/en/examples/run-example	Fri Mar 20 17:17:55 2009 +0800
   242.2 +++ b/en/examples/run-example	Mon Mar 30 16:23:33 2009 +0800
   242.3 @@ -134,7 +134,7 @@
   242.4          self.rename_output(self.name)
   242.5          norm = self.name.replace(os.sep, '-')
   242.6          example.entities[
   242.7 -            '<!ENTITY %s SYSTEM "results/%s.out">' % (norm, norm)] = 1
   242.8 +            '<!ENTITY %s SYSTEM "results/%s.lxo">' % (norm, norm)] = 1
   242.9  
  242.10  
  242.11  class shell_example(example):
  242.12 @@ -316,7 +316,7 @@
  242.13                                  norm = os.path.normpath(ofp_basename)
  242.14                                  example.entities[
  242.15                                      '<!ENTITY interaction.%s '
  242.16 -                                    'SYSTEM "results/%s.out">'
  242.17 +                                    'SYSTEM "results/%s.lxo">'
  242.18                                      % (norm, norm)] = 1
  242.19                                  read_hint = ofp_basename + ' '
  242.20                                  ofp = wopen(result_name(ofp_basename + '.tmp'))
   243.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   243.2 +++ b/en/figs/feature-branches.dot	Mon Mar 30 16:23:33 2009 +0800
   243.3 @@ -0,0 +1,8 @@
   243.4 +digraph feature_branches {
   243.5 +	master -> crypto;
   243.6 +	master -> filesystems;
   243.7 +	master -> ipc;
   243.8 +	master -> memory;
   243.9 +	master -> network;
  243.10 +	master -> security;
  243.11 +}
   244.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   244.2 +++ b/en/figs/filelog.svg	Mon Mar 30 16:23:33 2009 +0800
   244.3 @@ -0,0 +1,373 @@
   244.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   244.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   244.6 +<svg
   244.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   244.8 +   xmlns:cc="http://web.resource.org/cc/"
   244.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  244.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  244.11 +   xmlns="http://www.w3.org/2000/svg"
  244.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  244.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  244.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  244.15 +   width="744.09448819"
  244.16 +   height="1052.3622047"
  244.17 +   id="svg2"
  244.18 +   sodipodi:version="0.32"
  244.19 +   inkscape:version="0.45.1"
  244.20 +   sodipodi:docname="filelog.svg"
  244.21 +   sodipodi:docbase="/home/arun/hgbook/en"
  244.22 +   inkscape:output_extension="org.inkscape.output.svg.inkscape">
  244.23 +  <defs
  244.24 +     id="defs4">
  244.25 +    <marker
  244.26 +       inkscape:stockid="Arrow1Mend"
  244.27 +       orient="auto"
  244.28 +       refY="0.0"
  244.29 +       refX="0.0"
  244.30 +       id="Arrow1Mend"
  244.31 +       style="overflow:visible;">
  244.32 +      <path
  244.33 +         id="path3128"
  244.34 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  244.35 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  244.36 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  244.37 +    </marker>
  244.38 +    <linearGradient
  244.39 +       id="linearGradient2887">
  244.40 +      <stop
  244.41 +         style="stop-color:#91cfcf;stop-opacity:1;"
  244.42 +         offset="0"
  244.43 +         id="stop2889" />
  244.44 +      <stop
  244.45 +         style="stop-color:aqua;stop-opacity:0;"
  244.46 +         offset="1"
  244.47 +         id="stop2891" />
  244.48 +    </linearGradient>
  244.49 +    <linearGradient
  244.50 +       id="linearGradient2795">
  244.51 +      <stop
  244.52 +         style="stop-color:#ccc;stop-opacity:1;"
  244.53 +         offset="0"
  244.54 +         id="stop2797" />
  244.55 +      <stop
  244.56 +         style="stop-color:#ccc;stop-opacity:0;"
  244.57 +         offset="1"
  244.58 +         id="stop2799" />
  244.59 +    </linearGradient>
  244.60 +    <linearGradient
  244.61 +       inkscape:collect="always"
  244.62 +       xlink:href="#linearGradient2795"
  244.63 +       id="linearGradient3170"
  244.64 +       gradientUnits="userSpaceOnUse"
  244.65 +       gradientTransform="translate(121.2183,94.95434)"
  244.66 +       x1="81.322357"
  244.67 +       y1="404.34424"
  244.68 +       x2="201.52036"
  244.69 +       y2="373.03967" />
  244.70 +    <linearGradient
  244.71 +       inkscape:collect="always"
  244.72 +       xlink:href="#linearGradient2887"
  244.73 +       id="linearGradient3172"
  244.74 +       gradientUnits="userSpaceOnUse"
  244.75 +       gradientTransform="translate(0,12)"
  244.76 +       x1="62.634491"
  244.77 +       y1="503.3392"
  244.78 +       x2="248.49242"
  244.79 +       y2="462.94327" />
  244.80 +    <linearGradient
  244.81 +       inkscape:collect="always"
  244.82 +       xlink:href="#linearGradient2795"
  244.83 +       id="linearGradient3174"
  244.84 +       gradientUnits="userSpaceOnUse"
  244.85 +       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
  244.86 +       x1="81.322357"
  244.87 +       y1="404.34424"
  244.88 +       x2="201.52036"
  244.89 +       y2="373.03967" />
  244.90 +    <linearGradient
  244.91 +       inkscape:collect="always"
  244.92 +       xlink:href="#linearGradient2887"
  244.93 +       id="linearGradient3176"
  244.94 +       gradientUnits="userSpaceOnUse"
  244.95 +       gradientTransform="translate(0,12)"
  244.96 +       x1="62.634491"
  244.97 +       y1="503.3392"
  244.98 +       x2="248.49242"
  244.99 +       y2="462.94327" />
 244.100 +    <linearGradient
 244.101 +       inkscape:collect="always"
 244.102 +       xlink:href="#linearGradient2795"
 244.103 +       id="linearGradient3208"
 244.104 +       gradientUnits="userSpaceOnUse"
 244.105 +       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
 244.106 +       x1="81.322357"
 244.107 +       y1="404.34424"
 244.108 +       x2="201.52036"
 244.109 +       y2="373.03967" />
 244.110 +    <linearGradient
 244.111 +       inkscape:collect="always"
 244.112 +       xlink:href="#linearGradient2887"
 244.113 +       id="linearGradient3210"
 244.114 +       gradientUnits="userSpaceOnUse"
 244.115 +       gradientTransform="translate(0,12)"
 244.116 +       x1="62.634491"
 244.117 +       y1="503.3392"
 244.118 +       x2="248.49242"
 244.119 +       y2="462.94327" />
 244.120 +    <linearGradient
 244.121 +       inkscape:collect="always"
 244.122 +       xlink:href="#linearGradient2795"
 244.123 +       id="linearGradient3212"
 244.124 +       gradientUnits="userSpaceOnUse"
 244.125 +       gradientTransform="translate(121.2183,94.95434)"
 244.126 +       x1="81.322357"
 244.127 +       y1="404.34424"
 244.128 +       x2="201.52036"
 244.129 +       y2="373.03967" />
 244.130 +    <linearGradient
 244.131 +       inkscape:collect="always"
 244.132 +       xlink:href="#linearGradient2887"
 244.133 +       id="linearGradient3214"
 244.134 +       gradientUnits="userSpaceOnUse"
 244.135 +       gradientTransform="translate(0,12)"
 244.136 +       x1="62.634491"
 244.137 +       y1="503.3392"
 244.138 +       x2="248.49242"
 244.139 +       y2="462.94327" />
 244.140 +    <linearGradient
 244.141 +       inkscape:collect="always"
 244.142 +       xlink:href="#linearGradient2795"
 244.143 +       id="linearGradient3256"
 244.144 +       gradientUnits="userSpaceOnUse"
 244.145 +       gradientTransform="matrix(1.2343775,0,0,0.9981848,103.25588,95.681888)"
 244.146 +       x1="74.301666"
 244.147 +       y1="431.67441"
 244.148 +       x2="260.05884"
 244.149 +       y2="369.95322" />
 244.150 +    <linearGradient
 244.151 +       inkscape:collect="always"
 244.152 +       xlink:href="#linearGradient2887"
 244.153 +       id="linearGradient3258"
 244.154 +       gradientUnits="userSpaceOnUse"
 244.155 +       gradientTransform="matrix(1.228929,0,0,0.9972824,-62.037003,13.312997)"
 244.156 +       x1="62.634491"
 244.157 +       y1="503.3392"
 244.158 +       x2="248.49242"
 244.159 +       y2="462.94327" />
 244.160 +    <linearGradient
 244.161 +       inkscape:collect="always"
 244.162 +       xlink:href="#linearGradient2795"
 244.163 +       id="linearGradient3260"
 244.164 +       gradientUnits="userSpaceOnUse"
 244.165 +       gradientTransform="matrix(1.2300738,0,0,0.6517275,219.97511,153.61527)"
 244.166 +       x1="74.387527"
 244.167 +       y1="431.80576"
 244.168 +       x2="259.97339"
 244.169 +       y2="369.82224" />
 244.170 +    <linearGradient
 244.171 +       inkscape:collect="always"
 244.172 +       xlink:href="#linearGradient2887"
 244.173 +       id="linearGradient3262"
 244.174 +       gradientUnits="userSpaceOnUse"
 244.175 +       gradientTransform="matrix(1.2289272,0,0,0.9972824,-62.036756,13.312985)"
 244.176 +       x1="62.634491"
 244.177 +       y1="503.3392"
 244.178 +       x2="248.49242"
 244.179 +       y2="462.94327" />
 244.180 +  </defs>
 244.181 +  <sodipodi:namedview
 244.182 +     id="base"
 244.183 +     pagecolor="#ffffff"
 244.184 +     bordercolor="#666666"
 244.185 +     borderopacity="1.0"
 244.186 +     gridtolerance="10000"
 244.187 +     guidetolerance="10"
 244.188 +     objecttolerance="10"
 244.189 +     inkscape:pageopacity="0.0"
 244.190 +     inkscape:pageshadow="2"
 244.191 +     inkscape:zoom="1.4"
 244.192 +     inkscape:cx="455.8122"
 244.193 +     inkscape:cy="520"
 244.194 +     inkscape:document-units="px"
 244.195 +     inkscape:current-layer="layer1"
 244.196 +     inkscape:window-width="1680"
 244.197 +     inkscape:window-height="970"
 244.198 +     inkscape:window-x="0"
 244.199 +     inkscape:window-y="54" />
 244.200 +  <metadata
 244.201 +     id="metadata7">
 244.202 +    <rdf:RDF>
 244.203 +      <cc:Work
 244.204 +         rdf:about="">
 244.205 +        <dc:format>image/svg+xml</dc:format>
 244.206 +        <dc:type
 244.207 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 244.208 +      </cc:Work>
 244.209 +    </rdf:RDF>
 244.210 +  </metadata>
 244.211 +  <g
 244.212 +     inkscape:label="Layer 1"
 244.213 +     inkscape:groupmode="layer"
 244.214 +     id="layer1">
 244.215 +    <rect
 244.216 +       style="opacity:1;fill:#abadf8;fill-opacity:1;stroke:#595959;stroke-width:0.93760371;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 244.217 +       id="rect3180"
 244.218 +       width="273.81375"
 244.219 +       height="199.06245"
 244.220 +       x="369.1796"
 244.221 +       y="351.79019" />
 244.222 +    <rect
 244.223 +       style="opacity:1;fill:#a2f69c;fill-opacity:1;stroke:#595959;stroke-width:0.93760341;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 244.224 +       id="rect3178"
 244.225 +       width="273.81339"
 244.226 +       height="199.06233"
 244.227 +       x="72.699799"
 244.228 +       y="351.78983" />
 244.229 +    <g
 244.230 +       id="g3144"
 244.231 +       transform="translate(80.467048,0.71578)">
 244.232 +      <g
 244.233 +         id="g2940">
 244.234 +        <rect
 244.235 +           style="fill:url(#linearGradient3260);fill-opacity:1;stroke:#000000;stroke-width:0.89536202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 244.236 +           id="rect2914"
 244.237 +           width="227.38896"
 244.238 +           height="39.500999"
 244.239 +           x="311.92496"
 244.240 +           y="395.08627" />
 244.241 +        <text
 244.242 +           xml:space="preserve"
 244.243 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.244 +           x="323.72824"
 244.245 +           y="416.7626"
 244.246 +           id="text2918"><tspan
 244.247 +             sodipodi:role="line"
 244.248 +             id="tspan2920"
 244.249 +             x="323.72824"
 244.250 +             y="416.7626"
 244.251 +             style="font-family:Courier">.hg/store/data/README.i</tspan></text>
 244.252 +      </g>
 244.253 +      <g
 244.254 +         transform="translate(3.79093e-5,-80.1853)"
 244.255 +         id="g2945">
 244.256 +        <g
 244.257 +           id="g2955">
 244.258 +          <rect
 244.259 +             y="475.4968"
 244.260 +             x="15.550935"
 244.261 +             height="39.500999"
 244.262 +             width="227.17694"
 244.263 +             id="rect2947"
 244.264 +             style="fill:url(#linearGradient3262);fill-opacity:1;stroke:#000000;stroke-width:1.10706258;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 244.265 +          <text
 244.266 +             id="text2949"
 244.267 +             y="498.35123"
 244.268 +             x="31.230644"
 244.269 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.270 +             xml:space="preserve"><tspan
 244.271 +               style="font-family:Courier"
 244.272 +               y="498.35123"
 244.273 +               x="31.230644"
 244.274 +               id="tspan2951"
 244.275 +               sodipodi:role="line">README</tspan></text>
 244.276 +        </g>
 244.277 +      </g>
 244.278 +      <path
 244.279 +         inkscape:connector-type="polyline"
 244.280 +         id="path2960"
 244.281 +         d="M 242.94685,414.91115 C 242.94685,414.91115 293.61127,415.26754 310.16269,415.38633"
 244.282 +         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.02046943px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 244.283 +         sodipodi:nodetypes="cz" />
 244.284 +    </g>
 244.285 +    <g
 244.286 +       id="g3156"
 244.287 +       transform="translate(80.467048,0.71578)">
 244.288 +      <g
 244.289 +         transform="translate(116,0)"
 244.290 +         id="g2831">
 244.291 +        <rect
 244.292 +           style="fill:url(#linearGradient3256);fill-opacity:1;stroke:#000000;stroke-width:1.11001658;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 244.293 +           id="rect1906"
 244.294 +           width="228.18446"
 244.295 +           height="60.499123"
 244.296 +           x="195.52719"
 244.297 +           y="465.51859" />
 244.298 +        <g
 244.299 +           id="g2803"
 244.300 +           transform="translate(-0.893671,1.833581)">
 244.301 +          <text
 244.302 +             id="text1884"
 244.303 +             y="483.92801"
 244.304 +             x="208.95944"
 244.305 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.306 +             xml:space="preserve"><tspan
 244.307 +               style="font-family:Courier"
 244.308 +               y="483.92801"
 244.309 +               x="208.95944"
 244.310 +               id="tspan1886"
 244.311 +               sodipodi:role="line">.hg/store/data/src/hello.c.d</tspan></text>
 244.312 +          <text
 244.313 +             id="text1888"
 244.314 +             y="507.79309"
 244.315 +             x="208.95944"
 244.316 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.317 +             xml:space="preserve"><tspan
 244.318 +               style="font-family:Courier"
 244.319 +               y="507.79309"
 244.320 +               x="208.95944"
 244.321 +               id="tspan1890"
 244.322 +               sodipodi:role="line">.hg/store/data/src/hello.c.i</tspan></text>
 244.323 +        </g>
 244.324 +      </g>
 244.325 +      <g
 244.326 +         id="g2907">
 244.327 +        <rect
 244.328 +           style="fill:url(#linearGradient3258);fill-opacity:1;stroke:#000000;stroke-width:1.10706329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 244.329 +           id="rect2843"
 244.330 +           width="227.17728"
 244.331 +           height="39.500999"
 244.332 +           x="15.550805"
 244.333 +           y="475.4968" />
 244.334 +        <text
 244.335 +           xml:space="preserve"
 244.336 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.337 +           x="31.230644"
 244.338 +           y="498.35123"
 244.339 +           id="text2847"><tspan
 244.340 +             sodipodi:role="line"
 244.341 +             id="tspan2849"
 244.342 +             x="31.230644"
 244.343 +             y="498.35123"
 244.344 +             style="font-family:Courier">src/hello.c</tspan></text>
 244.345 +      </g>
 244.346 +      <path
 244.347 +         inkscape:connection-end="#g2831"
 244.348 +         inkscape:connection-start="#g2907"
 244.349 +         inkscape:connector-type="polyline"
 244.350 +         id="path2962"
 244.351 +         d="M 242.4315,495.88043 C 242.4315,495.88043 292.8861,495.99942 310.04102,496.03909"
 244.352 +         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 244.353 +         sodipodi:nodetypes="cs" />
 244.354 +    </g>
 244.355 +    <text
 244.356 +       xml:space="preserve"
 244.357 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.358 +       x="98.496666"
 244.359 +       y="373.96353"
 244.360 +       id="text3216"><tspan
 244.361 +         sodipodi:role="line"
 244.362 +         id="tspan3218"
 244.363 +         x="98.496666"
 244.364 +         y="373.96353">Working directory</tspan></text>
 244.365 +    <text
 244.366 +       xml:space="preserve"
 244.367 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 244.368 +       x="391.39197"
 244.369 +       y="373.96353"
 244.370 +       id="text3228"><tspan
 244.371 +         sodipodi:role="line"
 244.372 +         id="tspan3230"
 244.373 +         x="391.39197"
 244.374 +         y="373.96353">Repository</tspan></text>
 244.375 +  </g>
 244.376 +</svg>
   245.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   245.2 +++ b/en/figs/metadata.svg	Mon Mar 30 16:23:33 2009 +0800
   245.3 @@ -0,0 +1,328 @@
   245.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   245.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   245.6 +<svg
   245.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   245.8 +   xmlns:cc="http://web.resource.org/cc/"
   245.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  245.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  245.11 +   xmlns="http://www.w3.org/2000/svg"
  245.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  245.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  245.14 +   width="744.09448819"
  245.15 +   height="1052.3622047"
  245.16 +   id="svg2"
  245.17 +   sodipodi:version="0.32"
  245.18 +   inkscape:version="0.44.1"
  245.19 +   sodipodi:docname="metadata.svg"
  245.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en">
  245.21 +  <defs
  245.22 +     id="defs4">
  245.23 +    <marker
  245.24 +       inkscape:stockid="Arrow1Mend"
  245.25 +       orient="auto"
  245.26 +       refY="0.0"
  245.27 +       refX="0.0"
  245.28 +       id="Arrow1Mend"
  245.29 +       style="overflow:visible;">
  245.30 +      <path
  245.31 +         id="path2944"
  245.32 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  245.33 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  245.34 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  245.35 +    </marker>
  245.36 +  </defs>
  245.37 +  <sodipodi:namedview
  245.38 +     id="base"
  245.39 +     pagecolor="#ffffff"
  245.40 +     bordercolor="#666666"
  245.41 +     borderopacity="1.0"
  245.42 +     gridtolerance="10000"
  245.43 +     guidetolerance="10"
  245.44 +     objecttolerance="10"
  245.45 +     inkscape:pageopacity="0.0"
  245.46 +     inkscape:pageshadow="2"
  245.47 +     inkscape:zoom="1.4"
  245.48 +     inkscape:cx="232.14286"
  245.49 +     inkscape:cy="490.68696"
  245.50 +     inkscape:document-units="px"
  245.51 +     inkscape:current-layer="layer1"
  245.52 +     inkscape:window-width="906"
  245.53 +     inkscape:window-height="620"
  245.54 +     inkscape:window-x="181"
  245.55 +     inkscape:window-y="58" />
  245.56 +  <metadata
  245.57 +     id="metadata7">
  245.58 +    <rdf:RDF>
  245.59 +      <cc:Work
  245.60 +         rdf:about="">
  245.61 +        <dc:format>image/svg+xml</dc:format>
  245.62 +        <dc:type
  245.63 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  245.64 +      </cc:Work>
  245.65 +    </rdf:RDF>
  245.66 +  </metadata>
  245.67 +  <g
  245.68 +     inkscape:label="Layer 1"
  245.69 +     inkscape:groupmode="layer"
  245.70 +     id="layer1">
  245.71 +    <path
  245.72 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  245.73 +       d="M 326.94646,467.18359 L 326.94646,510.98123"
  245.74 +       id="path1910"
  245.75 +       inkscape:connector-type="polyline"
  245.76 +       inkscape:connection-end="#rect2962"
  245.77 +       inkscape:connection-start="#rect2764" />
  245.78 +    <path
  245.79 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  245.80 +       d="M 326.94646,531.98123 L 326.94646,591.77887"
  245.81 +       id="path1912"
  245.82 +       inkscape:connector-type="polyline"
  245.83 +       inkscape:connection-start="#rect2962"
  245.84 +       inkscape:connection-end="#rect3000" />
  245.85 +    <path
  245.86 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  245.87 +       d="M 316.1622,531.98123 L 192.30212,652.57648"
  245.88 +       id="path1916"
  245.89 +       inkscape:connector-type="polyline"
  245.90 +       inkscape:connection-end="#rect3038"
  245.91 +       inkscape:connection-start="#rect2962" />
  245.92 +    <path
  245.93 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
  245.94 +       d="M 254.23217,467.18359 L 254.23216,510.98123"
  245.95 +       id="path3088"
  245.96 +       inkscape:connector-type="polyline"
  245.97 +       inkscape:connection-start="#rect1872"
  245.98 +       inkscape:connection-end="#rect2960" />
  245.99 +    <path
 245.100 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
 245.101 +       d="M 254.23215,531.98123 L 254.23215,591.77887"
 245.102 +       id="path3090"
 245.103 +       inkscape:connector-type="polyline"
 245.104 +       inkscape:connection-start="#rect2960"
 245.105 +       inkscape:connection-end="#rect2998" />
 245.106 +    <path
 245.107 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
 245.108 +       d="M 248.84002,531.98123 L 186.90999,652.57648"
 245.109 +       id="path3092"
 245.110 +       inkscape:connector-type="polyline"
 245.111 +       inkscape:connection-start="#rect2960"
 245.112 +       inkscape:connection-end="#rect3038" />
 245.113 +    <rect
 245.114 +       style="fill:#7b7df5;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.115 +       id="rect1872"
 245.116 +       width="51.42857"
 245.117 +       height="20"
 245.118 +       x="228.51788"
 245.119 +       y="446.68359" />
 245.120 +    <rect
 245.121 +       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.122 +       id="rect2764"
 245.123 +       width="51.42857"
 245.124 +       height="20"
 245.125 +       x="301.23218"
 245.126 +       y="446.68359" />
 245.127 +    <rect
 245.128 +       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.129 +       id="rect2766"
 245.130 +       width="51.42857"
 245.131 +       height="20"
 245.132 +       x="155.80359"
 245.133 +       y="446.68359" />
 245.134 +    <rect
 245.135 +       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.136 +       id="rect2768"
 245.137 +       width="51.42857"
 245.138 +       height="20"
 245.139 +       x="83.089294"
 245.140 +       y="446.68359" />
 245.141 +    <path
 245.142 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.143 +       d="M 135.01786,456.68359 L 155.30359,456.68359"
 245.144 +       id="path2770"
 245.145 +       inkscape:connector-type="polyline"
 245.146 +       inkscape:connection-start="#rect2768"
 245.147 +       inkscape:connection-end="#rect2766" />
 245.148 +    <path
 245.149 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.150 +       d="M 207.73216,456.68359 L 228.01788,456.68359"
 245.151 +       id="path2772"
 245.152 +       inkscape:connector-type="polyline"
 245.153 +       inkscape:connection-start="#rect2766"
 245.154 +       inkscape:connection-end="#rect1872" />
 245.155 +    <path
 245.156 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.157 +       d="M 280.44645,456.68359 L 300.73218,456.68359"
 245.158 +       id="path2774"
 245.159 +       inkscape:connector-type="polyline"
 245.160 +       inkscape:connection-start="#rect1872"
 245.161 +       inkscape:connection-end="#rect2764" />
 245.162 +    <path
 245.163 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 245.164 +       d="M 62.303571,456.68359 L 82.589294,456.68359"
 245.165 +       id="path2778"
 245.166 +       inkscape:connector-type="polyline"
 245.167 +       inkscape:connection-end="#rect2768" />
 245.168 +    <rect
 245.169 +       style="fill:#84f57b;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.170 +       id="rect2960"
 245.171 +       width="51.42857"
 245.172 +       height="20"
 245.173 +       x="228.51787"
 245.174 +       y="511.48123" />
 245.175 +    <rect
 245.176 +       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.177 +       id="rect2962"
 245.178 +       width="51.42857"
 245.179 +       height="20"
 245.180 +       x="301.23218"
 245.181 +       y="511.48123" />
 245.182 +    <rect
 245.183 +       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.184 +       id="rect2964"
 245.185 +       width="51.42857"
 245.186 +       height="20"
 245.187 +       x="155.80357"
 245.188 +       y="511.48123" />
 245.189 +    <rect
 245.190 +       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.191 +       id="rect2966"
 245.192 +       width="51.42857"
 245.193 +       height="20"
 245.194 +       x="83.089287"
 245.195 +       y="511.48123" />
 245.196 +    <path
 245.197 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.198 +       d="M 135.01786,521.48121 L 155.30359,521.48121"
 245.199 +       id="path2968"
 245.200 +       inkscape:connector-type="polyline" />
 245.201 +    <path
 245.202 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.203 +       d="M 207.73216,521.48121 L 228.01788,521.48121"
 245.204 +       id="path2970"
 245.205 +       inkscape:connector-type="polyline" />
 245.206 +    <path
 245.207 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.208 +       d="M 280.44645,521.48121 L 300.73218,521.48121"
 245.209 +       id="path2972"
 245.210 +       inkscape:connector-type="polyline" />
 245.211 +    <path
 245.212 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 245.213 +       d="M 62.30358,521.48121 L 82.5893,521.48121"
 245.214 +       id="path2974"
 245.215 +       inkscape:connector-type="polyline" />
 245.216 +    <rect
 245.217 +       style="fill:#f57b8f;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.218 +       id="rect2998"
 245.219 +       width="51.42857"
 245.220 +       height="20"
 245.221 +       x="228.51787"
 245.222 +       y="592.27887" />
 245.223 +    <rect
 245.224 +       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.225 +       id="rect3000"
 245.226 +       width="51.42857"
 245.227 +       height="20"
 245.228 +       x="301.23218"
 245.229 +       y="592.27887" />
 245.230 +    <rect
 245.231 +       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.232 +       id="rect3002"
 245.233 +       width="51.42857"
 245.234 +       height="20"
 245.235 +       x="155.80357"
 245.236 +       y="592.27887" />
 245.237 +    <rect
 245.238 +       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.239 +       id="rect3004"
 245.240 +       width="51.42857"
 245.241 +       height="20"
 245.242 +       x="83.089287"
 245.243 +       y="592.27887" />
 245.244 +    <path
 245.245 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.246 +       d="M 135.01786,602.27884 L 155.30359,602.27884"
 245.247 +       id="path3006"
 245.248 +       inkscape:connector-type="polyline" />
 245.249 +    <path
 245.250 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.251 +       d="M 207.73216,602.27884 L 228.01788,602.27884"
 245.252 +       id="path3008"
 245.253 +       inkscape:connector-type="polyline" />
 245.254 +    <path
 245.255 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.256 +       d="M 280.44645,602.27884 L 300.73218,602.27884"
 245.257 +       id="path3010"
 245.258 +       inkscape:connector-type="polyline" />
 245.259 +    <path
 245.260 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 245.261 +       d="M 62.30358,602.27884 L 82.5893,602.27884"
 245.262 +       id="path3012"
 245.263 +       inkscape:connector-type="polyline" />
 245.264 +    <rect
 245.265 +       style="fill:#ffced6;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.266 +       id="rect3034"
 245.267 +       width="51.42857"
 245.268 +       height="20"
 245.269 +       x="228.51787"
 245.270 +       y="653.07648" />
 245.271 +    <rect
 245.272 +       style="fill:#f57b8f;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.273 +       id="rect3038"
 245.274 +       width="51.42857"
 245.275 +       height="20"
 245.276 +       x="155.80357"
 245.277 +       y="653.07648" />
 245.278 +    <rect
 245.279 +       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 245.280 +       id="rect3040"
 245.281 +       width="51.42857"
 245.282 +       height="20"
 245.283 +       x="83.089287"
 245.284 +       y="653.07648" />
 245.285 +    <path
 245.286 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.287 +       d="M 135.01786,663.07646 L 155.30359,663.07646"
 245.288 +       id="path3042"
 245.289 +       inkscape:connector-type="polyline" />
 245.290 +    <path
 245.291 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 245.292 +       d="M 207.73216,663.07646 L 228.01788,663.07646"
 245.293 +       id="path3044"
 245.294 +       inkscape:connector-type="polyline" />
 245.295 +    <path
 245.296 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 245.297 +       d="M 62.30358,663.07646 L 82.5893,663.07646"
 245.298 +       id="path3048"
 245.299 +       inkscape:connector-type="polyline" />
 245.300 +    <text
 245.301 +       xml:space="preserve"
 245.302 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 245.303 +       x="82.072548"
 245.304 +       y="432.64789"
 245.305 +       id="text3094"><tspan
 245.306 +         sodipodi:role="line"
 245.307 +         id="tspan3096"
 245.308 +         x="82.072548"
 245.309 +         y="432.64789">Changelog</tspan></text>
 245.310 +    <text
 245.311 +       xml:space="preserve"
 245.312 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 245.313 +       x="82.306923"
 245.314 +       y="498.97327"
 245.315 +       id="text3098"><tspan
 245.316 +         sodipodi:role="line"
 245.317 +         id="tspan3100"
 245.318 +         x="82.306923"
 245.319 +         y="498.97327">Manifest</tspan></text>
 245.320 +    <text
 245.321 +       xml:space="preserve"
 245.322 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 245.323 +       x="82.14286"
 245.324 +       y="580.08569"
 245.325 +       id="text3102"><tspan
 245.326 +         sodipodi:role="line"
 245.327 +         id="tspan3104"
 245.328 +         x="82.14286"
 245.329 +         y="580.08569">Filelogs</tspan></text>
 245.330 +  </g>
 245.331 +</svg>
   246.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   246.2 +++ b/en/figs/mq-stack.svg	Mon Mar 30 16:23:33 2009 +0800
   246.3 @@ -0,0 +1,270 @@
   246.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   246.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   246.6 +<svg
   246.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   246.8 +   xmlns:cc="http://web.resource.org/cc/"
   246.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  246.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  246.11 +   xmlns="http://www.w3.org/2000/svg"
  246.12 +   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
  246.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  246.14 +   width="744.09448819"
  246.15 +   height="1052.3622047"
  246.16 +   id="svg2"
  246.17 +   sodipodi:version="0.32"
  246.18 +   inkscape:version="0.43"
  246.19 +   sodipodi:docname="mq-stack.svg"
  246.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en">
  246.21 +  <defs
  246.22 +     id="defs4" />
  246.23 +  <sodipodi:namedview
  246.24 +     id="base"
  246.25 +     pagecolor="#ffffff"
  246.26 +     bordercolor="#666666"
  246.27 +     borderopacity="1.0"
  246.28 +     inkscape:pageopacity="0.0"
  246.29 +     inkscape:pageshadow="2"
  246.30 +     inkscape:zoom="1.4142136"
  246.31 +     inkscape:cx="299.33323"
  246.32 +     inkscape:cy="815.646"
  246.33 +     inkscape:document-units="px"
  246.34 +     inkscape:current-layer="layer1"
  246.35 +     inkscape:window-width="1014"
  246.36 +     inkscape:window-height="689"
  246.37 +     inkscape:window-x="0"
  246.38 +     inkscape:window-y="25" />
  246.39 +  <metadata
  246.40 +     id="metadata7">
  246.41 +    <rdf:RDF>
  246.42 +      <cc:Work
  246.43 +         rdf:about="">
  246.44 +        <dc:format>image/svg+xml</dc:format>
  246.45 +        <dc:type
  246.46 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  246.47 +      </cc:Work>
  246.48 +    </rdf:RDF>
  246.49 +  </metadata>
  246.50 +  <g
  246.51 +     inkscape:label="Layer 1"
  246.52 +     inkscape:groupmode="layer"
  246.53 +     id="layer1">
  246.54 +    <rect
  246.55 +       style="fill:#0000ff;fill-opacity:0.75;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  246.56 +       id="rect1307"
  246.57 +       width="202.93683"
  246.58 +       height="24.243662"
  246.59 +       x="230.01944"
  246.60 +       y="221.70146" />
  246.61 +    <text
  246.62 +       xml:space="preserve"
  246.63 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  246.64 +       x="237.89606"
  246.65 +       y="237.13383"
  246.66 +       id="text1309"><tspan
  246.67 +         sodipodi:role="line"
  246.68 +         id="tspan1311"
  246.69 +         x="237.89606"
  246.70 +         y="237.13383">prevent-compiler-reorder.patch</tspan></text>
  246.71 +    <rect
  246.72 +       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  246.73 +       id="rect1320"
  246.74 +       width="202.93683"
  246.75 +       height="24.243662"
  246.76 +       x="230.01936"
  246.77 +       y="251.34325" />
  246.78 +    <text
  246.79 +       xml:space="preserve"
  246.80 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  246.81 +       x="237.89598"
  246.82 +       y="266.77563"
  246.83 +       id="text1322"><tspan
  246.84 +         sodipodi:role="line"
  246.85 +         id="tspan1324"
  246.86 +         x="237.89598"
  246.87 +         y="266.77563">namespace-cleanup.patch</tspan></text>
  246.88 +    <rect
  246.89 +       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  246.90 +       id="rect2217"
  246.91 +       width="202.93683"
  246.92 +       height="24.243662"
  246.93 +       x="230.01936"
  246.94 +       y="280.98505" />
  246.95 +    <text
  246.96 +       xml:space="preserve"
  246.97 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  246.98 +       x="237.89598"
  246.99 +       y="296.41742"
 246.100 +       id="text2219"><tspan
 246.101 +         sodipodi:role="line"
 246.102 +         id="tspan2221"
 246.103 +         x="237.89598"
 246.104 +         y="296.41742">powerpc-port-fixes.patch</tspan></text>
 246.105 +    <rect
 246.106 +       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 246.107 +       id="rect3114"
 246.108 +       width="202.93683"
 246.109 +       height="24.243662"
 246.110 +       x="230.01936"
 246.111 +       y="310.6268" />
 246.112 +    <text
 246.113 +       xml:space="preserve"
 246.114 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.115 +       x="237.89598"
 246.116 +       y="326.05917"
 246.117 +       id="text3116"><tspan
 246.118 +         sodipodi:role="line"
 246.119 +         id="tspan3118"
 246.120 +         x="237.89598"
 246.121 +         y="326.05917">report-devinfo-correctly.patch</tspan></text>
 246.122 +    <text
 246.123 +       xml:space="preserve"
 246.124 +       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.125 +       x="200.01021"
 246.126 +       y="191.68094"
 246.127 +       id="text3170"
 246.128 +       sodipodi:linespacing="125%"><tspan
 246.129 +         sodipodi:role="line"
 246.130 +         id="tspan3172"
 246.131 +         x="200.01021"
 246.132 +         y="191.68094"
 246.133 +         style="font-size:48px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text>
 246.134 +    <text
 246.135 +       xml:space="preserve"
 246.136 +       style="font-size:15.25329685px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.137 +       x="255.26627"
 246.138 +       y="248.79449"
 246.139 +       id="text3190"
 246.140 +       sodipodi:linespacing="125%"
 246.141 +       transform="scale(0.786716,1.271107)"><tspan
 246.142 +         sodipodi:role="line"
 246.143 +         id="tspan3192"
 246.144 +         x="255.26627"
 246.145 +         y="248.79449"
 246.146 +         style="font-size:61.01318741px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text>
 246.147 +    <text
 246.148 +       xml:space="preserve"
 246.149 +       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.150 +       x="195.86807"
 246.151 +       y="173.17117"
 246.152 +       id="text4085"
 246.153 +       sodipodi:linespacing="125%"><tspan
 246.154 +         sodipodi:role="line"
 246.155 +         id="tspan4087"
 246.156 +         x="195.86807"
 246.157 +         y="173.17117"
 246.158 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">present in series,</tspan><tspan
 246.159 +         sodipodi:role="line"
 246.160 +         x="195.86807"
 246.161 +         y="188.17117"
 246.162 +         id="tspan4089"
 246.163 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">but not applied</tspan></text>
 246.164 +    <text
 246.165 +       xml:space="preserve"
 246.166 +       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.167 +       x="195.0712"
 246.168 +       y="288.91745"
 246.169 +       id="text4091"
 246.170 +       sodipodi:linespacing="125%"><tspan
 246.171 +         sodipodi:role="line"
 246.172 +         id="tspan4093"
 246.173 +         x="195.0712"
 246.174 +         y="288.91745"
 246.175 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">patches applied,</tspan><tspan
 246.176 +         sodipodi:role="line"
 246.177 +         x="195.0712"
 246.178 +         y="303.91745"
 246.179 +         id="tspan4111"
 246.180 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">changesets present</tspan></text>
 246.181 +    <text
 246.182 +       xml:space="preserve"
 246.183 +       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.184 +       x="195.0712"
 246.185 +       y="229.28813"
 246.186 +       id="text4095"
 246.187 +       sodipodi:linespacing="125%"><tspan
 246.188 +         sodipodi:role="line"
 246.189 +         id="tspan4097"
 246.190 +         x="195.0712"
 246.191 +         y="229.28813"
 246.192 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">topmost</tspan><tspan
 246.193 +         sodipodi:role="line"
 246.194 +         x="195.0712"
 246.195 +         y="244.28813"
 246.196 +         id="tspan4109"
 246.197 +         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">applied patch</tspan></text>
 246.198 +    <text
 246.199 +       xml:space="preserve"
 246.200 +       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#666666;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.201 +       x="450.4975"
 246.202 +       y="238.29692"
 246.203 +       id="text4137"><tspan
 246.204 +         sodipodi:role="line"
 246.205 +         id="tspan4139"
 246.206 +         x="450.4975"
 246.207 +         y="238.29692">201ad3209902</tspan></text>
 246.208 +    <text
 246.209 +       xml:space="preserve"
 246.210 +       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.211 +       x="450.05804"
 246.212 +       y="267.93872"
 246.213 +       id="text4141"><tspan
 246.214 +         sodipodi:role="line"
 246.215 +         id="tspan4143"
 246.216 +         x="450.05804"
 246.217 +         y="267.93872">126b84e593ae</tspan></text>
 246.218 +    <text
 246.219 +       xml:space="preserve"
 246.220 +       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.221 +       x="450.6557"
 246.222 +       y="297.58051"
 246.223 +       id="text4145"><tspan
 246.224 +         sodipodi:role="line"
 246.225 +         id="tspan4147"
 246.226 +         x="450.6557"
 246.227 +         y="297.58051">a655daf15409</tspan></text>
 246.228 +    <text
 246.229 +       xml:space="preserve"
 246.230 +       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.231 +       x="450.71429"
 246.232 +       y="327.22226"
 246.233 +       id="text4149"><tspan
 246.234 +         sodipodi:role="line"
 246.235 +         id="tspan4151"
 246.236 +         x="450.71429"
 246.237 +         y="327.22226">e50d59aaea3a</tspan></text>
 246.238 +    <rect
 246.239 +       style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 246.240 +       id="rect3106"
 246.241 +       width="202.93683"
 246.242 +       height="24.243662"
 246.243 +       x="230.01936"
 246.244 +       y="150.41792" />
 246.245 +    <text
 246.246 +       xml:space="preserve"
 246.247 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.248 +       x="237.89598"
 246.249 +       y="165.8503"
 246.250 +       id="text3108"><tspan
 246.251 +         sodipodi:role="line"
 246.252 +         id="tspan3110"
 246.253 +         x="237.89598"
 246.254 +         y="165.8503">forbid-illegal-params.patch</tspan></text>
 246.255 +    <rect
 246.256 +       style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 246.257 +       id="rect2241"
 246.258 +       width="202.93683"
 246.259 +       height="24.243662"
 246.260 +       x="230.16466"
 246.261 +       y="180.05968" />
 246.262 +    <text
 246.263 +       xml:space="preserve"
 246.264 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 246.265 +       x="238.04128"
 246.266 +       y="195.49205"
 246.267 +       id="text2243"><tspan
 246.268 +         sodipodi:role="line"
 246.269 +         id="tspan2245"
 246.270 +         x="238.04128"
 246.271 +         y="195.49205">fix-memory-leak.patch</tspan></text>
 246.272 +  </g>
 246.273 +</svg>
   247.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   247.2 +++ b/en/figs/revlog.svg	Mon Mar 30 16:23:33 2009 +0800
   247.3 @@ -0,0 +1,1155 @@
   247.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   247.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   247.6 +<svg
   247.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   247.8 +   xmlns:cc="http://web.resource.org/cc/"
   247.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  247.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  247.11 +   xmlns="http://www.w3.org/2000/svg"
  247.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  247.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  247.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  247.15 +   width="744.09448819"
  247.16 +   height="1052.3622047"
  247.17 +   id="svg2"
  247.18 +   sodipodi:version="0.32"
  247.19 +   inkscape:version="0.44.1"
  247.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  247.21 +   sodipodi:docname="revlog.svg">
  247.22 +  <defs
  247.23 +     id="defs4">
  247.24 +    <marker
  247.25 +       inkscape:stockid="Arrow1Mend"
  247.26 +       orient="auto"
  247.27 +       refY="0.0"
  247.28 +       refX="0.0"
  247.29 +       id="Arrow1Mend"
  247.30 +       style="overflow:visible;">
  247.31 +      <path
  247.32 +         id="path4852"
  247.33 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  247.34 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  247.35 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  247.36 +    </marker>
  247.37 +    <linearGradient
  247.38 +       id="linearGradient3092">
  247.39 +      <stop
  247.40 +         style="stop-color:#44436f;stop-opacity:1;"
  247.41 +         offset="0"
  247.42 +         id="stop3094" />
  247.43 +      <stop
  247.44 +         style="stop-color:#abade5;stop-opacity:1;"
  247.45 +         offset="1"
  247.46 +         id="stop3096" />
  247.47 +    </linearGradient>
  247.48 +    <linearGradient
  247.49 +       inkscape:collect="always"
  247.50 +       xlink:href="#linearGradient3092"
  247.51 +       id="linearGradient3118"
  247.52 +       gradientUnits="userSpaceOnUse"
  247.53 +       x1="176.16635"
  247.54 +       y1="405.21934"
  247.55 +       x2="417.11935"
  247.56 +       y2="405.21934" />
  247.57 +    <linearGradient
  247.58 +       inkscape:collect="always"
  247.59 +       xlink:href="#linearGradient3092"
  247.60 +       id="linearGradient3120"
  247.61 +       gradientUnits="userSpaceOnUse"
  247.62 +       x1="176.16635"
  247.63 +       y1="405.21934"
  247.64 +       x2="417.11935"
  247.65 +       y2="405.21934" />
  247.66 +    <linearGradient
  247.67 +       inkscape:collect="always"
  247.68 +       xlink:href="#linearGradient3092"
  247.69 +       id="linearGradient3129"
  247.70 +       gradientUnits="userSpaceOnUse"
  247.71 +       x1="176.16635"
  247.72 +       y1="405.21934"
  247.73 +       x2="417.11935"
  247.74 +       y2="405.21934"
  247.75 +       gradientTransform="translate(-0.928574,-1.428574)" />
  247.76 +    <linearGradient
  247.77 +       inkscape:collect="always"
  247.78 +       xlink:href="#linearGradient3092"
  247.79 +       id="linearGradient3133"
  247.80 +       gradientUnits="userSpaceOnUse"
  247.81 +       x1="176.16635"
  247.82 +       y1="405.21934"
  247.83 +       x2="417.11935"
  247.84 +       y2="405.21934"
  247.85 +       gradientTransform="translate(-0.928574,-1.428574)" />
  247.86 +    <linearGradient
  247.87 +       inkscape:collect="always"
  247.88 +       xlink:href="#linearGradient3092"
  247.89 +       id="linearGradient3708"
  247.90 +       gradientUnits="userSpaceOnUse"
  247.91 +       gradientTransform="matrix(0.423343,0,0,0.423343,138.874,-67.01732)"
  247.92 +       x1="175.23776"
  247.93 +       y1="509.98154"
  247.94 +       x2="416.29077"
  247.95 +       y2="297.49997" />
  247.96 +    <linearGradient
  247.97 +       inkscape:collect="always"
  247.98 +       xlink:href="#linearGradient3092"
  247.99 +       id="linearGradient5164"
 247.100 +       gradientUnits="userSpaceOnUse"
 247.101 +       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,247.4358)"
 247.102 +       x1="175.23776"
 247.103 +       y1="509.98154"
 247.104 +       x2="416.29077"
 247.105 +       y2="297.49997" />
 247.106 +    <linearGradient
 247.107 +       inkscape:collect="always"
 247.108 +       xlink:href="#linearGradient3092"
 247.109 +       id="linearGradient5584"
 247.110 +       gradientUnits="userSpaceOnUse"
 247.111 +       gradientTransform="matrix(0.423343,0,0,0.423343,143.9081,371.2915)"
 247.112 +       x1="175.23776"
 247.113 +       y1="509.98154"
 247.114 +       x2="416.29077"
 247.115 +       y2="297.49997" />
 247.116 +    <linearGradient
 247.117 +       inkscape:collect="always"
 247.118 +       xlink:href="#linearGradient3092"
 247.119 +       id="linearGradient5784"
 247.120 +       gradientUnits="userSpaceOnUse"
 247.121 +       gradientTransform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 247.122 +       x1="175.23776"
 247.123 +       y1="509.98154"
 247.124 +       x2="416.29077"
 247.125 +       y2="297.49997" />
 247.126 +    <linearGradient
 247.127 +       inkscape:collect="always"
 247.128 +       xlink:href="#linearGradient3092"
 247.129 +       id="linearGradient5786"
 247.130 +       gradientUnits="userSpaceOnUse"
 247.131 +       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,152.137)"
 247.132 +       x1="175.23776"
 247.133 +       y1="509.98154"
 247.134 +       x2="416.29077"
 247.135 +       y2="297.49997" />
 247.136 +    <linearGradient
 247.137 +       inkscape:collect="always"
 247.138 +       xlink:href="#linearGradient3092"
 247.139 +       id="linearGradient5895"
 247.140 +       gradientUnits="userSpaceOnUse"
 247.141 +       gradientTransform="matrix(0.423343,0,0,0.423343,198.0215,261.7142)"
 247.142 +       x1="175.23776"
 247.143 +       y1="509.98154"
 247.144 +       x2="416.29077"
 247.145 +       y2="297.49997" />
 247.146 +    <linearGradient
 247.147 +       inkscape:collect="always"
 247.148 +       xlink:href="#linearGradient3092"
 247.149 +       id="linearGradient5958"
 247.150 +       gradientUnits="userSpaceOnUse"
 247.151 +       gradientTransform="matrix(0.423343,0,0,0.423343,137.1978,42.55987)"
 247.152 +       x1="175.23776"
 247.153 +       y1="509.98154"
 247.154 +       x2="416.29077"
 247.155 +       y2="297.49997" />
 247.156 +  </defs>
 247.157 +  <sodipodi:namedview
 247.158 +     id="base"
 247.159 +     pagecolor="#ffffff"
 247.160 +     bordercolor="#666666"
 247.161 +     borderopacity="1.0"
 247.162 +     gridtolerance="10000"
 247.163 +     guidetolerance="10"
 247.164 +     objecttolerance="10"
 247.165 +     inkscape:pageopacity="0.0"
 247.166 +     inkscape:pageshadow="2"
 247.167 +     inkscape:zoom="0.64"
 247.168 +     inkscape:cx="566.02368"
 247.169 +     inkscape:cy="688.16826"
 247.170 +     inkscape:document-units="px"
 247.171 +     inkscape:current-layer="layer1"
 247.172 +     inkscape:window-width="906"
 247.173 +     inkscape:window-height="620"
 247.174 +     inkscape:window-x="29"
 247.175 +     inkscape:window-y="79"
 247.176 +     inkscape:connector-spacing="11" />
 247.177 +  <metadata
 247.178 +     id="metadata7">
 247.179 +    <rdf:RDF>
 247.180 +      <cc:Work
 247.181 +         rdf:about="">
 247.182 +        <dc:format>image/svg+xml</dc:format>
 247.183 +        <dc:type
 247.184 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 247.185 +      </cc:Work>
 247.186 +    </rdf:RDF>
 247.187 +  </metadata>
 247.188 +  <g
 247.189 +     inkscape:label="Layer 1"
 247.190 +     inkscape:groupmode="layer"
 247.191 +     id="layer1">
 247.192 +    <rect
 247.193 +       y="168.74846"
 247.194 +       x="211.58516"
 247.195 +       height="89.506805"
 247.196 +       width="101.60232"
 247.197 +       id="rect3068"
 247.198 +       style="fill:url(#linearGradient5958);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.199 +    <g
 247.200 +       id="g3215"
 247.201 +       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55985)">
 247.202 +      <rect
 247.203 +         y="447.71451"
 247.204 +         x="299.67859"
 247.205 +         height="48.571426"
 247.206 +         width="103.14286"
 247.207 +         id="rect2899"
 247.208 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.209 +      <text
 247.210 +         id="text2903"
 247.211 +         y="464.8139"
 247.212 +         x="308.89639"
 247.213 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.214 +         xml:space="preserve"><tspan
 247.215 +           y="464.8139"
 247.216 +           x="308.89639"
 247.217 +           sodipodi:role="line"
 247.218 +           id="tspan2905">Second parent</tspan></text>
 247.219 +      <text
 247.220 +         id="text2907"
 247.221 +         y="485.50256"
 247.222 +         x="308.20175"
 247.223 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.224 +         xml:space="preserve"><tspan
 247.225 +           style="font-family:Courier"
 247.226 +           y="485.50256"
 247.227 +           x="308.20175"
 247.228 +           id="tspan2909"
 247.229 +           sodipodi:role="line">32bf9a5f22c0</tspan></text>
 247.230 +    </g>
 247.231 +    <g
 247.232 +       id="g3250"
 247.233 +       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55986)">
 247.234 +      <rect
 247.235 +         y="311.28598"
 247.236 +         x="188.6071"
 247.237 +         height="48.571426"
 247.238 +         width="103.14286"
 247.239 +         id="rect2936"
 247.240 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.241 +      <text
 247.242 +         id="text2940"
 247.243 +         y="328.38538"
 247.244 +         x="197.82495"
 247.245 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.246 +         xml:space="preserve"><tspan
 247.247 +           y="328.38538"
 247.248 +           x="197.82495"
 247.249 +           sodipodi:role="line"
 247.250 +           id="tspan2942">Revision hash</tspan></text>
 247.251 +      <text
 247.252 +         id="text2944"
 247.253 +         y="349.07404"
 247.254 +         x="197.13031"
 247.255 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.256 +         xml:space="preserve"><tspan
 247.257 +           style="font-family:Courier"
 247.258 +           y="349.07404"
 247.259 +           x="197.13031"
 247.260 +           id="tspan2946"
 247.261 +           sodipodi:role="line">34b8b7a15ea1</tspan></text>
 247.262 +    </g>
 247.263 +    <g
 247.264 +       id="g3243"
 247.265 +       transform="matrix(0.423343,0,0,0.423343,137.6664,43.91853)">
 247.266 +      <rect
 247.267 +         y="363.07654"
 247.268 +         x="187.5"
 247.269 +         height="75"
 247.270 +         width="213.85715"
 247.271 +         id="rect2950"
 247.272 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.273 +      <text
 247.274 +         id="text2958"
 247.275 +         y="400.86459"
 247.276 +         x="196.02321"
 247.277 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.278 +         xml:space="preserve"><tspan
 247.279 +           style="fill:black;fill-opacity:1;font-family:Courier"
 247.280 +           y="400.86459"
 247.281 +           x="196.02321"
 247.282 +           id="tspan2960"
 247.283 +           sodipodi:role="line">...</tspan></text>
 247.284 +      <text
 247.285 +         id="text2954"
 247.286 +         y="380.17593"
 247.287 +         x="196.71785"
 247.288 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.289 +         xml:space="preserve"><tspan
 247.290 +           y="380.17593"
 247.291 +           x="196.71785"
 247.292 +           sodipodi:role="line"
 247.293 +           id="tspan2956"
 247.294 +           style="fill:black;fill-opacity:1">Revision data (delta or snapshot)</tspan></text>
 247.295 +    </g>
 247.296 +    <g
 247.297 +       id="g5529"
 247.298 +       transform="translate(-6.710312,-8.165836e-6)">
 247.299 +      <rect
 247.300 +         style="fill:url(#linearGradient5584);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.301 +         id="rect3509"
 247.302 +         width="101.60232"
 247.303 +         height="89.506805"
 247.304 +         x="218.29547"
 247.305 +         y="497.4801" />
 247.306 +      <g
 247.307 +         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
 247.308 +         id="g3513">
 247.309 +        <g
 247.310 +           id="g3515">
 247.311 +          <rect
 247.312 +             y="447.72418"
 247.313 +             x="188.6071"
 247.314 +             height="48.571426"
 247.315 +             width="103.14286"
 247.316 +             id="rect3517"
 247.317 +             style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.318 +          <text
 247.319 +             id="text3519"
 247.320 +             y="464.82358"
 247.321 +             x="197.82495"
 247.322 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.323 +             xml:space="preserve"><tspan
 247.324 +               y="464.82358"
 247.325 +               x="197.82495"
 247.326 +               sodipodi:role="line"
 247.327 +               id="tspan3521">First parent</tspan></text>
 247.328 +          <text
 247.329 +             id="text3523"
 247.330 +             y="485.51224"
 247.331 +             x="197.13031"
 247.332 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.333 +             xml:space="preserve"><tspan
 247.334 +               style="font-family:Courier"
 247.335 +               y="485.51224"
 247.336 +               x="197.13031"
 247.337 +               id="tspan3525"
 247.338 +               sodipodi:role="line">000000000000</tspan></text>
 247.339 +        </g>
 247.340 +        <g
 247.341 +           id="g3527">
 247.342 +          <rect
 247.343 +             y="447.71451"
 247.344 +             x="299.67859"
 247.345 +             height="48.571426"
 247.346 +             width="103.14286"
 247.347 +             id="rect3529"
 247.348 +             style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.349 +          <text
 247.350 +             id="text3531"
 247.351 +             y="464.8139"
 247.352 +             x="308.89639"
 247.353 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.354 +             xml:space="preserve"><tspan
 247.355 +               y="464.8139"
 247.356 +               x="308.89639"
 247.357 +               sodipodi:role="line"
 247.358 +               id="tspan3533">Second parent</tspan></text>
 247.359 +          <text
 247.360 +             id="text3535"
 247.361 +             y="485.50256"
 247.362 +             x="308.20175"
 247.363 +             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.364 +             xml:space="preserve"><tspan
 247.365 +               style="font-family:Courier"
 247.366 +               y="485.50256"
 247.367 +               x="308.20175"
 247.368 +               id="tspan3537"
 247.369 +               sodipodi:role="line">000000000000</tspan></text>
 247.370 +        </g>
 247.371 +      </g>
 247.372 +      <g
 247.373 +         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
 247.374 +         id="g3539">
 247.375 +        <rect
 247.376 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.377 +           id="rect3541"
 247.378 +           width="103.14286"
 247.379 +           height="48.571426"
 247.380 +           x="188.6071"
 247.381 +           y="311.28598" />
 247.382 +        <text
 247.383 +           xml:space="preserve"
 247.384 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.385 +           x="197.82495"
 247.386 +           y="328.38538"
 247.387 +           id="text3543"><tspan
 247.388 +             id="tspan3545"
 247.389 +             sodipodi:role="line"
 247.390 +             x="197.82495"
 247.391 +             y="328.38538">Revision hash</tspan></text>
 247.392 +        <text
 247.393 +           xml:space="preserve"
 247.394 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.395 +           x="197.13031"
 247.396 +           y="349.07404"
 247.397 +           id="text3547"><tspan
 247.398 +             sodipodi:role="line"
 247.399 +             id="tspan3549"
 247.400 +             x="197.13031"
 247.401 +             y="349.07404"
 247.402 +             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
 247.403 +      </g>
 247.404 +      <g
 247.405 +         transform="matrix(0.423343,0,0,0.423343,144.3767,372.6502)"
 247.406 +         id="g3551">
 247.407 +        <rect
 247.408 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.409 +           id="rect3553"
 247.410 +           width="213.85715"
 247.411 +           height="75"
 247.412 +           x="187.5"
 247.413 +           y="363.07654" />
 247.414 +        <text
 247.415 +           xml:space="preserve"
 247.416 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.417 +           x="196.02321"
 247.418 +           y="400.86459"
 247.419 +           id="text3555"><tspan
 247.420 +             sodipodi:role="line"
 247.421 +             id="tspan3557"
 247.422 +             x="196.02321"
 247.423 +             y="400.86459"
 247.424 +             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 247.425 +        <text
 247.426 +           xml:space="preserve"
 247.427 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.428 +           x="196.71785"
 247.429 +           y="380.17593"
 247.430 +           id="text3559"><tspan
 247.431 +             style="fill:black;fill-opacity:1"
 247.432 +             id="tspan3561"
 247.433 +             sodipodi:role="line"
 247.434 +             x="196.71785"
 247.435 +             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 247.436 +      </g>
 247.437 +    </g>
 247.438 +    <g
 247.439 +       id="g4868"
 247.440 +       transform="translate(-1.676208,-2.342463e-5)">
 247.441 +      <rect
 247.442 +         style="fill:url(#linearGradient3708);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.443 +         id="rect3567"
 247.444 +         width="101.60232"
 247.445 +         height="89.506805"
 247.446 +         x="213.26137"
 247.447 +         y="59.171272" />
 247.448 +      <g
 247.449 +         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
 247.450 +         id="g3573">
 247.451 +        <rect
 247.452 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.453 +           id="rect3575"
 247.454 +           width="103.14286"
 247.455 +           height="48.571426"
 247.456 +           x="188.6071"
 247.457 +           y="447.72418" />
 247.458 +        <text
 247.459 +           xml:space="preserve"
 247.460 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.461 +           x="197.82495"
 247.462 +           y="464.82358"
 247.463 +           id="text3577"><tspan
 247.464 +             id="tspan3579"
 247.465 +             sodipodi:role="line"
 247.466 +             x="197.82495"
 247.467 +             y="464.82358">First parent</tspan></text>
 247.468 +        <text
 247.469 +           xml:space="preserve"
 247.470 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.471 +           x="197.13031"
 247.472 +           y="485.51224"
 247.473 +           id="text3581"><tspan
 247.474 +             sodipodi:role="line"
 247.475 +             id="tspan3583"
 247.476 +             x="197.13031"
 247.477 +             y="485.51224"
 247.478 +             style="font-family:Courier">34b8b7a15ea1</tspan></text>
 247.479 +      </g>
 247.480 +      <g
 247.481 +         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
 247.482 +         id="g3585">
 247.483 +        <rect
 247.484 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.485 +           id="rect3587"
 247.486 +           width="103.14286"
 247.487 +           height="48.571426"
 247.488 +           x="299.67859"
 247.489 +           y="447.71451" />
 247.490 +        <text
 247.491 +           xml:space="preserve"
 247.492 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.493 +           x="308.89639"
 247.494 +           y="464.8139"
 247.495 +           id="text3589"><tspan
 247.496 +             id="tspan3591"
 247.497 +             sodipodi:role="line"
 247.498 +             x="308.89639"
 247.499 +             y="464.8139">Second parent</tspan></text>
 247.500 +        <text
 247.501 +           xml:space="preserve"
 247.502 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.503 +           x="308.20175"
 247.504 +           y="485.50256"
 247.505 +           id="text3593"><tspan
 247.506 +             sodipodi:role="line"
 247.507 +             id="tspan3595"
 247.508 +             x="308.20175"
 247.509 +             y="485.50256"
 247.510 +             style="font-family:Courier">000000000000</tspan></text>
 247.511 +      </g>
 247.512 +      <g
 247.513 +         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01733)"
 247.514 +         id="g3597">
 247.515 +        <rect
 247.516 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.517 +           id="rect3599"
 247.518 +           width="103.14286"
 247.519 +           height="48.571426"
 247.520 +           x="188.6071"
 247.521 +           y="311.28598" />
 247.522 +        <text
 247.523 +           xml:space="preserve"
 247.524 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.525 +           x="197.82495"
 247.526 +           y="328.38538"
 247.527 +           id="text3601"><tspan
 247.528 +             id="tspan3603"
 247.529 +             sodipodi:role="line"
 247.530 +             x="197.82495"
 247.531 +             y="328.38538">Revision hash</tspan></text>
 247.532 +        <text
 247.533 +           xml:space="preserve"
 247.534 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.535 +           x="197.13031"
 247.536 +           y="349.07404"
 247.537 +           id="text3605"><tspan
 247.538 +             sodipodi:role="line"
 247.539 +             id="tspan3607"
 247.540 +             x="197.13031"
 247.541 +             y="349.07404"
 247.542 +             style="font-family:Courier">1b67dc96f27a</tspan></text>
 247.543 +      </g>
 247.544 +      <g
 247.545 +         transform="matrix(0.423343,0,0,0.423343,139.3426,-65.65866)"
 247.546 +         id="g3609">
 247.547 +        <rect
 247.548 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.549 +           id="rect3611"
 247.550 +           width="213.85715"
 247.551 +           height="75"
 247.552 +           x="187.5"
 247.553 +           y="363.07654" />
 247.554 +        <text
 247.555 +           xml:space="preserve"
 247.556 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.557 +           x="196.02321"
 247.558 +           y="400.86459"
 247.559 +           id="text3613"><tspan
 247.560 +             sodipodi:role="line"
 247.561 +             id="tspan3615"
 247.562 +             x="196.02321"
 247.563 +             y="400.86459"
 247.564 +             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 247.565 +        <text
 247.566 +           xml:space="preserve"
 247.567 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.568 +           x="196.71785"
 247.569 +           y="380.17593"
 247.570 +           id="text3617"><tspan
 247.571 +             style="fill:black;fill-opacity:1"
 247.572 +             id="tspan3619"
 247.573 +             sodipodi:role="line"
 247.574 +             x="196.71785"
 247.575 +             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 247.576 +      </g>
 247.577 +    </g>
 247.578 +    <path
 247.579 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Mend)"
 247.580 +       d="M 240.78255,143.08593 L 241.42595,171.75349"
 247.581 +       id="path3801"
 247.582 +       inkscape:connector-type="polyline"
 247.583 +       inkscape:connection-start="#g3573"
 247.584 +       inkscape:connection-end="#g3250" />
 247.585 +    <g
 247.586 +       id="g5677">
 247.587 +      <rect
 247.588 +         style="fill:url(#linearGradient5784);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.589 +         id="rect3393"
 247.590 +         width="101.60232"
 247.591 +         height="89.506805"
 247.592 +         x="150.76137"
 247.593 +         y="278.32565" />
 247.594 +      <g
 247.595 +         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 247.596 +         id="g3399">
 247.597 +        <rect
 247.598 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.599 +           id="rect3401"
 247.600 +           width="103.14286"
 247.601 +           height="48.571426"
 247.602 +           x="188.6071"
 247.603 +           y="447.72418" />
 247.604 +        <text
 247.605 +           xml:space="preserve"
 247.606 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.607 +           x="197.82495"
 247.608 +           y="464.82358"
 247.609 +           id="text3403"><tspan
 247.610 +             id="tspan3405"
 247.611 +             sodipodi:role="line"
 247.612 +             x="197.82495"
 247.613 +             y="464.82358">First parent</tspan></text>
 247.614 +        <text
 247.615 +           xml:space="preserve"
 247.616 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.617 +           x="197.13031"
 247.618 +           y="485.51224"
 247.619 +           id="text3407"><tspan
 247.620 +             sodipodi:role="line"
 247.621 +             id="tspan3409"
 247.622 +             x="197.13031"
 247.623 +             y="485.51224"
 247.624 +             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
 247.625 +      </g>
 247.626 +      <g
 247.627 +         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 247.628 +         id="g3411">
 247.629 +        <rect
 247.630 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.631 +           id="rect3413"
 247.632 +           width="103.14286"
 247.633 +           height="48.571426"
 247.634 +           x="299.67859"
 247.635 +           y="447.71451" />
 247.636 +        <text
 247.637 +           xml:space="preserve"
 247.638 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.639 +           x="308.89639"
 247.640 +           y="464.8139"
 247.641 +           id="text3415"><tspan
 247.642 +             id="tspan3417"
 247.643 +             sodipodi:role="line"
 247.644 +             x="308.89639"
 247.645 +             y="464.8139">Second parent</tspan></text>
 247.646 +        <text
 247.647 +           xml:space="preserve"
 247.648 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.649 +           x="308.20175"
 247.650 +           y="485.50256"
 247.651 +           id="text3419"><tspan
 247.652 +             sodipodi:role="line"
 247.653 +             id="tspan3421"
 247.654 +             x="308.20175"
 247.655 +             y="485.50256"
 247.656 +             style="font-family:Courier">000000000000</tspan></text>
 247.657 +      </g>
 247.658 +      <g
 247.659 +         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 247.660 +         id="g3423">
 247.661 +        <rect
 247.662 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.663 +           id="rect3425"
 247.664 +           width="103.14286"
 247.665 +           height="48.571426"
 247.666 +           x="188.6071"
 247.667 +           y="311.28598" />
 247.668 +        <text
 247.669 +           xml:space="preserve"
 247.670 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.671 +           x="197.82495"
 247.672 +           y="328.38538"
 247.673 +           id="text3427"><tspan
 247.674 +             id="tspan3429"
 247.675 +             sodipodi:role="line"
 247.676 +             x="197.82495"
 247.677 +             y="328.38538">Revision hash</tspan></text>
 247.678 +        <text
 247.679 +           xml:space="preserve"
 247.680 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.681 +           x="197.13031"
 247.682 +           y="349.07404"
 247.683 +           id="text3431"><tspan
 247.684 +             sodipodi:role="line"
 247.685 +             id="tspan3433"
 247.686 +             x="197.13031"
 247.687 +             y="349.07404"
 247.688 +             style="font-family:Courier">5b80c922ebdd</tspan></text>
 247.689 +      </g>
 247.690 +      <g
 247.691 +         transform="matrix(0.423343,0,0,0.423343,76.84265,153.4957)"
 247.692 +         id="g3435">
 247.693 +        <rect
 247.694 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.695 +           id="rect3437"
 247.696 +           width="213.85715"
 247.697 +           height="75"
 247.698 +           x="187.5"
 247.699 +           y="363.07654" />
 247.700 +        <text
 247.701 +           xml:space="preserve"
 247.702 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.703 +           x="196.02321"
 247.704 +           y="400.86459"
 247.705 +           id="text3439"><tspan
 247.706 +             sodipodi:role="line"
 247.707 +             id="tspan3441"
 247.708 +             x="196.02321"
 247.709 +             y="400.86459"
 247.710 +             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 247.711 +        <text
 247.712 +           xml:space="preserve"
 247.713 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.714 +           x="196.71785"
 247.715 +           y="380.17593"
 247.716 +           id="text3443"><tspan
 247.717 +             style="fill:black;fill-opacity:1"
 247.718 +             id="tspan3445"
 247.719 +             sodipodi:role="line"
 247.720 +             x="196.71785"
 247.721 +             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 247.722 +      </g>
 247.723 +    </g>
 247.724 +    <g
 247.725 +       id="g5646"
 247.726 +       transform="translate(-0.227432,0)">
 247.727 +      <rect
 247.728 +         style="fill:url(#linearGradient5786);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.729 +         id="rect3451"
 247.730 +         width="101.60232"
 247.731 +         height="89.506805"
 247.732 +         x="272.63638"
 247.733 +         y="278.32565" />
 247.734 +      <g
 247.735 +         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 247.736 +         id="g3457">
 247.737 +        <rect
 247.738 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.739 +           id="rect3459"
 247.740 +           width="103.14286"
 247.741 +           height="48.571426"
 247.742 +           x="188.6071"
 247.743 +           y="447.72418" />
 247.744 +        <text
 247.745 +           xml:space="preserve"
 247.746 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.747 +           x="197.82495"
 247.748 +           y="464.82358"
 247.749 +           id="text3461"><tspan
 247.750 +             id="tspan3463"
 247.751 +             sodipodi:role="line"
 247.752 +             x="197.82495"
 247.753 +             y="464.82358">First parent</tspan></text>
 247.754 +        <text
 247.755 +           xml:space="preserve"
 247.756 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.757 +           x="197.13031"
 247.758 +           y="485.51224"
 247.759 +           id="text3465"><tspan
 247.760 +             sodipodi:role="line"
 247.761 +             id="tspan3467"
 247.762 +             x="197.13031"
 247.763 +             y="485.51224"
 247.764 +             style="font-family:Courier">ecacb6b4c9fd</tspan></text>
 247.765 +      </g>
 247.766 +      <g
 247.767 +         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 247.768 +         id="g3469">
 247.769 +        <rect
 247.770 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.771 +           id="rect3471"
 247.772 +           width="103.14286"
 247.773 +           height="48.571426"
 247.774 +           x="299.67859"
 247.775 +           y="447.71451" />
 247.776 +        <text
 247.777 +           xml:space="preserve"
 247.778 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.779 +           x="308.89639"
 247.780 +           y="464.8139"
 247.781 +           id="text3473"><tspan
 247.782 +             id="tspan3475"
 247.783 +             sodipodi:role="line"
 247.784 +             x="308.89639"
 247.785 +             y="464.8139">Second parent</tspan></text>
 247.786 +        <text
 247.787 +           xml:space="preserve"
 247.788 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.789 +           x="308.20175"
 247.790 +           y="485.50256"
 247.791 +           id="text3477"><tspan
 247.792 +             sodipodi:role="line"
 247.793 +             id="tspan3479"
 247.794 +             x="308.20175"
 247.795 +             y="485.50256"
 247.796 +             style="font-family:Courier">000000000000</tspan></text>
 247.797 +      </g>
 247.798 +      <g
 247.799 +         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 247.800 +         id="g3481">
 247.801 +        <rect
 247.802 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.803 +           id="rect3483"
 247.804 +           width="103.14286"
 247.805 +           height="48.571426"
 247.806 +           x="188.6071"
 247.807 +           y="311.28598" />
 247.808 +        <text
 247.809 +           xml:space="preserve"
 247.810 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.811 +           x="197.82495"
 247.812 +           y="328.38538"
 247.813 +           id="text3485"><tspan
 247.814 +             id="tspan3487"
 247.815 +             sodipodi:role="line"
 247.816 +             x="197.82495"
 247.817 +             y="328.38538">Revision hash</tspan></text>
 247.818 +        <text
 247.819 +           xml:space="preserve"
 247.820 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.821 +           x="197.13031"
 247.822 +           y="349.07404"
 247.823 +           id="text3489"><tspan
 247.824 +             sodipodi:role="line"
 247.825 +             id="tspan3491"
 247.826 +             x="197.13031"
 247.827 +             y="349.07404"
 247.828 +             style="font-family:Courier">32bf9a5f22c0</tspan></text>
 247.829 +      </g>
 247.830 +      <g
 247.831 +         transform="matrix(0.423343,0,0,0.423343,198.7176,153.4957)"
 247.832 +         id="g3493">
 247.833 +        <rect
 247.834 +           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 247.835 +           id="rect3495"
 247.836 +           width="213.85715"
 247.837 +           height="75"
 247.838 +           x="187.5"
 247.839 +           y="363.07654" />
 247.840 +        <text
 247.841 +           xml:space="preserve"
 247.842 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.843 +           x="196.02321"
 247.844 +           y="400.86459"
 247.845 +           id="text3497"><tspan
 247.846 +             sodipodi:role="line"
 247.847 +             id="tspan3499"
 247.848 +             x="196.02321"
 247.849 +             y="400.86459"
 247.850 +             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 247.851 +        <text
 247.852 +           xml:space="preserve"
 247.853 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.854 +           x="196.71785"
 247.855 +           y="380.17593"
 247.856 +           id="text3501"><tspan
 247.857 +             style="fill:black;fill-opacity:1"
 247.858 +             id="tspan3503"
 247.859 +             sodipodi:role="line"
 247.860 +             x="196.71785"
 247.861 +             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 247.862 +      </g>
 247.863 +    </g>
 247.864 +    <rect
 247.865 +       y="387.90286"
 247.866 +       x="272.40894"
 247.867 +       height="89.506805"
 247.868 +       width="101.60232"
 247.869 +       id="rect5081"
 247.870 +       style="fill:url(#linearGradient5895);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.871 +    <g
 247.872 +       id="g5087"
 247.873 +       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 247.874 +      <rect
 247.875 +         y="447.72418"
 247.876 +         x="188.6071"
 247.877 +         height="48.571426"
 247.878 +         width="103.14286"
 247.879 +         id="rect5089"
 247.880 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.881 +      <text
 247.882 +         id="text5091"
 247.883 +         y="464.82358"
 247.884 +         x="197.82495"
 247.885 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.886 +         xml:space="preserve"><tspan
 247.887 +           y="464.82358"
 247.888 +           x="197.82495"
 247.889 +           sodipodi:role="line"
 247.890 +           id="tspan5093">First parent</tspan></text>
 247.891 +      <text
 247.892 +         id="text5095"
 247.893 +         y="485.51224"
 247.894 +         x="197.13031"
 247.895 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.896 +         xml:space="preserve"><tspan
 247.897 +           style="font-family:Courier"
 247.898 +           y="485.51224"
 247.899 +           x="197.13031"
 247.900 +           id="tspan5097"
 247.901 +           sodipodi:role="line">ff9dc8bc2a8b</tspan></text>
 247.902 +    </g>
 247.903 +    <g
 247.904 +       id="g5099"
 247.905 +       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 247.906 +      <rect
 247.907 +         y="447.71451"
 247.908 +         x="299.67859"
 247.909 +         height="48.571426"
 247.910 +         width="103.14286"
 247.911 +         id="rect5101"
 247.912 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.913 +      <text
 247.914 +         id="text5103"
 247.915 +         y="464.8139"
 247.916 +         x="308.89639"
 247.917 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.918 +         xml:space="preserve"><tspan
 247.919 +           y="464.8139"
 247.920 +           x="308.89639"
 247.921 +           sodipodi:role="line"
 247.922 +           id="tspan5105">Second parent</tspan></text>
 247.923 +      <text
 247.924 +         id="text5107"
 247.925 +         y="485.50256"
 247.926 +         x="308.20175"
 247.927 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.928 +         xml:space="preserve"><tspan
 247.929 +           style="font-family:Courier"
 247.930 +           y="485.50256"
 247.931 +           x="308.20175"
 247.932 +           id="tspan5109"
 247.933 +           sodipodi:role="line">000000000000</tspan></text>
 247.934 +    </g>
 247.935 +    <g
 247.936 +       id="g5111"
 247.937 +       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 247.938 +      <rect
 247.939 +         y="311.28598"
 247.940 +         x="188.6071"
 247.941 +         height="48.571426"
 247.942 +         width="103.14286"
 247.943 +         id="rect5113"
 247.944 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.945 +      <text
 247.946 +         id="text5115"
 247.947 +         y="328.38538"
 247.948 +         x="197.82495"
 247.949 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.950 +         xml:space="preserve"><tspan
 247.951 +           y="328.38538"
 247.952 +           x="197.82495"
 247.953 +           sodipodi:role="line"
 247.954 +           id="tspan5117">Revision hash</tspan></text>
 247.955 +      <text
 247.956 +         id="text5119"
 247.957 +         y="349.07404"
 247.958 +         x="197.13031"
 247.959 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.960 +         xml:space="preserve"><tspan
 247.961 +           style="font-family:Courier"
 247.962 +           y="349.07404"
 247.963 +           x="197.13031"
 247.964 +           id="tspan5121"
 247.965 +           sodipodi:role="line">ecacb6b4c9fd</tspan></text>
 247.966 +    </g>
 247.967 +    <g
 247.968 +       id="g5123"
 247.969 +       transform="matrix(0.423343,0,0,0.423343,198.4901,263.0729)">
 247.970 +      <rect
 247.971 +         y="363.07654"
 247.972 +         x="187.5"
 247.973 +         height="75"
 247.974 +         width="213.85715"
 247.975 +         id="rect5125"
 247.976 +         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 247.977 +      <text
 247.978 +         id="text5127"
 247.979 +         y="400.86459"
 247.980 +         x="196.02321"
 247.981 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.982 +         xml:space="preserve"><tspan
 247.983 +           style="fill:black;fill-opacity:1;font-family:Courier"
 247.984 +           y="400.86459"
 247.985 +           x="196.02321"
 247.986 +           id="tspan5129"
 247.987 +           sodipodi:role="line">...</tspan></text>
 247.988 +      <text
 247.989 +         id="text5131"
 247.990 +         y="380.17593"
 247.991 +         x="196.71785"
 247.992 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 247.993 +         xml:space="preserve"><tspan
 247.994 +           y="380.17593"
 247.995 +           x="196.71785"
 247.996 +           sodipodi:role="line"
 247.997 +           id="tspan5133"
 247.998 +           style="fill:black;fill-opacity:1">Revision data (delta or snapshot)</tspan></text>
 247.999 +    </g>
247.1000 +    <path
247.1001 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
247.1002 +       d="M 299.69935,362.24027 L 299.69931,393.49494"
247.1003 +       id="path5203"
247.1004 +       inkscape:connector-type="polyline"
247.1005 +       inkscape:connection-start="#g3457"
247.1006 +       inkscape:connection-end="#g5111" />
247.1007 +    <path
247.1008 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
247.1009 +       d="M 182.35357,362.22647 L 241.2842,503.07224"
247.1010 +       id="path5271"
247.1011 +       inkscape:connector-type="polyline"
247.1012 +       inkscape:connection-start="#g3399"
247.1013 +       inkscape:connection-end="#g3539" />
247.1014 +    <path
247.1015 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
247.1016 +       d="M 287.63109,471.81747 L 250.9438,503.07223"
247.1017 +       id="path5285"
247.1018 +       inkscape:connector-type="polyline"
247.1019 +       inkscape:connection-start="#g5087"
247.1020 +       inkscape:connection-end="#g3539" />
247.1021 +    <path
247.1022 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
247.1023 +       d="M 290.80419,250.07192 L 297.80065,283.90394"
247.1024 +       id="path5077"
247.1025 +       inkscape:connector-type="polyline"
247.1026 +       inkscape:connection-start="#g3215"
247.1027 +       inkscape:connection-end="#g3481" />
247.1028 +    <path
247.1029 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
247.1030 +       d="M 229.63373,250.07601 L 190.07484,283.90394"
247.1031 +       id="path5075"
247.1032 +       inkscape:connector-type="polyline"
247.1033 +       inkscape:connection-end="#g3423" />
247.1034 +    <text
247.1035 +       xml:space="preserve"
247.1036 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1037 +       x="131.5625"
247.1038 +       y="100.79968"
247.1039 +       id="text5897"><tspan
247.1040 +         sodipodi:role="line"
247.1041 +         id="tspan5899"
247.1042 +         x="131.5625"
247.1043 +         y="100.79968"
247.1044 +         style="text-align:end;text-anchor:end">Head revision</tspan><tspan
247.1045 +         sodipodi:role="line"
247.1046 +         x="131.5625"
247.1047 +         y="115.79968"
247.1048 +         id="tspan5901"
247.1049 +         style="text-align:end;text-anchor:end">(no children)</tspan></text>
247.1050 +    <text
247.1051 +       xml:space="preserve"
247.1052 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1053 +       x="131.5625"
247.1054 +       y="207.04968"
247.1055 +       id="text5903"><tspan
247.1056 +         sodipodi:role="line"
247.1057 +         id="tspan5905"
247.1058 +         x="131.5625"
247.1059 +         y="207.04968"
247.1060 +         style="text-align:end;text-anchor:end">Merge revision</tspan><tspan
247.1061 +         sodipodi:role="line"
247.1062 +         x="131.5625"
247.1063 +         y="222.04968"
247.1064 +         id="tspan5907"
247.1065 +         style="text-align:end;text-anchor:end">(two parents)</tspan></text>
247.1066 +    <text
247.1067 +       xml:space="preserve"
247.1068 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1069 +       x="131.92578"
247.1070 +       y="451.58093"
247.1071 +       id="text5909"><tspan
247.1072 +         sodipodi:role="line"
247.1073 +         id="tspan5911"
247.1074 +         x="131.92578"
247.1075 +         y="451.58093"
247.1076 +         style="text-align:end;text-anchor:end">Branches</tspan><tspan
247.1077 +         sodipodi:role="line"
247.1078 +         x="131.92578"
247.1079 +         y="466.58093"
247.1080 +         id="tspan5913"
247.1081 +         style="text-align:end;text-anchor:end">(two revisions,</tspan><tspan
247.1082 +         sodipodi:role="line"
247.1083 +         x="131.92578"
247.1084 +         y="481.58093"
247.1085 +         id="tspan5915"
247.1086 +         style="text-align:end;text-anchor:end">same parent)</tspan></text>
247.1087 +    <path
247.1088 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
247.1089 +       d="M 111.71875,433.61218 L 154.7268,368.52294"
247.1090 +       id="path5917"
247.1091 +       inkscape:connector-type="polyline" />
247.1092 +    <path
247.1093 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
247.1094 +       d="M 134.375,464.86218 L 277.86691,440.37816"
247.1095 +       id="path5919"
247.1096 +       inkscape:connector-type="polyline"
247.1097 +       inkscape:connection-end="#g5123" />
247.1098 +    <text
247.1099 +       xml:space="preserve"
247.1100 +       style="font-size:12px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1101 +       x="131.5625"
247.1102 +       y="536.73718"
247.1103 +       id="text5927"><tspan
247.1104 +         sodipodi:role="line"
247.1105 +         id="tspan5929"
247.1106 +         x="131.5625"
247.1107 +         y="536.73718">First revision</tspan><tspan
247.1108 +         sodipodi:role="line"
247.1109 +         x="131.5625"
247.1110 +         y="551.73718"
247.1111 +         id="tspan5931">(both parents null)</tspan></text>
247.1112 +    <rect
247.1113 +       style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
247.1114 +       id="rect2830"
247.1115 +       width="43.664806"
247.1116 +       height="20.562374"
247.1117 +       x="217.0432"
247.1118 +       y="232.10075" />
247.1119 +    <text
247.1120 +       xml:space="preserve"
247.1121 +       style="font-size:5.0801158px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1122 +       x="220.94551"
247.1123 +       y="239.33966"
247.1124 +       id="text2832"><tspan
247.1125 +         id="tspan2836"
247.1126 +         sodipodi:role="line"
247.1127 +         x="220.94551"
247.1128 +         y="239.33966">First parent</tspan></text>
247.1129 +    <text
247.1130 +       xml:space="preserve"
247.1131 +       style="font-size:5.0801158px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
247.1132 +       x="220.65144"
247.1133 +       y="248.09805"
247.1134 +       id="text2879"><tspan
247.1135 +         sodipodi:role="line"
247.1136 +         id="tspan2881"
247.1137 +         x="220.65144"
247.1138 +         y="248.09805"
247.1139 +         style="font-family:Courier">5b80c922ebdd</tspan></text>
247.1140 +    <path
247.1141 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
247.1142 +       d="M 139.84375,107.83093 L 210.15625,107.83093"
247.1143 +       id="path5965"
247.1144 +       inkscape:connector-type="polyline" />
247.1145 +    <path
247.1146 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
247.1147 +       d="M 137.5,213.29968 L 210.49036,214.09055"
247.1148 +       id="path5967"
247.1149 +       inkscape:connector-type="polyline" />
247.1150 +    <path
247.1151 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
247.1152 +       d="M 136.34375,544.54968 L 206.65625,544.54968"
247.1153 +       id="path5969"
247.1154 +       inkscape:connector-type="polyline"
247.1155 +       inkscape:transform-center-y="-171.09375"
247.1156 +       inkscape:transform-center-x="53.90625" />
247.1157 +  </g>
247.1158 +</svg>
   248.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   248.2 +++ b/en/figs/snapshot.svg	Mon Mar 30 16:23:33 2009 +0800
   248.3 @@ -0,0 +1,202 @@
   248.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   248.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   248.6 +<svg
   248.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   248.8 +   xmlns:cc="http://web.resource.org/cc/"
   248.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  248.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  248.11 +   xmlns="http://www.w3.org/2000/svg"
  248.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  248.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  248.14 +   width="744.09448819"
  248.15 +   height="1052.3622047"
  248.16 +   id="svg2807"
  248.17 +   sodipodi:version="0.32"
  248.18 +   inkscape:version="0.44.1"
  248.19 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  248.20 +   sodipodi:docname="snapshots.svg">
  248.21 +  <defs
  248.22 +     id="defs2809" />
  248.23 +  <sodipodi:namedview
  248.24 +     id="base"
  248.25 +     pagecolor="#ffffff"
  248.26 +     bordercolor="#666666"
  248.27 +     borderopacity="1.0"
  248.28 +     gridtolerance="10000"
  248.29 +     guidetolerance="10"
  248.30 +     objecttolerance="10"
  248.31 +     inkscape:pageopacity="0.0"
  248.32 +     inkscape:pageshadow="2"
  248.33 +     inkscape:zoom="1.4"
  248.34 +     inkscape:cx="252.04111"
  248.35 +     inkscape:cy="605.75448"
  248.36 +     inkscape:document-units="px"
  248.37 +     inkscape:current-layer="layer1"
  248.38 +     inkscape:window-width="906"
  248.39 +     inkscape:window-height="721"
  248.40 +     inkscape:window-x="0"
  248.41 +     inkscape:window-y="25" />
  248.42 +  <metadata
  248.43 +     id="metadata2812">
  248.44 +    <rdf:RDF>
  248.45 +      <cc:Work
  248.46 +         rdf:about="">
  248.47 +        <dc:format>image/svg+xml</dc:format>
  248.48 +        <dc:type
  248.49 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  248.50 +      </cc:Work>
  248.51 +    </rdf:RDF>
  248.52 +  </metadata>
  248.53 +  <g
  248.54 +     inkscape:label="Layer 1"
  248.55 +     inkscape:groupmode="layer"
  248.56 +     id="layer1">
  248.57 +    <rect
  248.58 +       style="opacity:1;fill:#d3ceff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.88795626;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
  248.59 +       id="rect2817"
  248.60 +       width="118.18347"
  248.61 +       height="245.32632"
  248.62 +       x="243.05112"
  248.63 +       y="315.4133"
  248.64 +       inkscape:transform-center-x="136.84403"
  248.65 +       inkscape:transform-center-y="-66.529183" />
  248.66 +    <rect
  248.67 +       y="315.04153"
  248.68 +       x="46.965065"
  248.69 +       height="97.803009"
  248.70 +       width="108.92702"
  248.71 +       id="rect2815"
  248.72 +       style="fill:#ffced6;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.14441991;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
  248.73 +    <g
  248.74 +       id="g3814">
  248.75 +      <rect
  248.76 +         y="348.94302"
  248.77 +         x="59.285713"
  248.78 +         height="30"
  248.79 +         width="84.285713"
  248.80 +         id="rect2819"
  248.81 +         style="fill:#ff6e86;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
  248.82 +         ry="0" />
  248.83 +      <text
  248.84 +         id="text2821"
  248.85 +         y="368.02701"
  248.86 +         x="72.717636"
  248.87 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
  248.88 +         xml:space="preserve"><tspan
  248.89 +           y="368.02701"
  248.90 +           x="72.717636"
  248.91 +           id="tspan2823"
  248.92 +           sodipodi:role="line">Index, rev 7</tspan></text>
  248.93 +    </g>
  248.94 +    <text
  248.95 +       id="text3722"
  248.96 +       y="301.29074"
  248.97 +       x="46.187778"
  248.98 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
  248.99 +       xml:space="preserve"><tspan
 248.100 +         y="301.29074"
 248.101 +         x="46.187778"
 248.102 +         id="tspan3724"
 248.103 +         sodipodi:role="line">Revlog index (.i file)</tspan></text>
 248.104 +    <text
 248.105 +       id="text3726"
 248.106 +       y="301.29074"
 248.107 +       x="241.90207"
 248.108 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.109 +       xml:space="preserve"><tspan
 248.110 +         y="301.29074"
 248.111 +         x="241.90207"
 248.112 +         id="tspan3728"
 248.113 +         sodipodi:role="line">Revlog data (.d file)</tspan></text>
 248.114 +    <path
 248.115 +       style="fill:#c695ff;fill-opacity:0.60109288;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 248.116 +       d="M 143.57143,348.07647 L 255,368.07646 L 255.71429,544.50504 L 142.85714,379.50504 L 143.57143,348.07647 z "
 248.117 +       id="path3839"
 248.118 +       sodipodi:nodetypes="ccccc" />
 248.119 +    <rect
 248.120 +       style="fill:#4733ff;fill-opacity:1;stroke:#a7a7a7;stroke-width:2.35124183;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 248.121 +       id="rect3752"
 248.122 +       width="92.720184"
 248.123 +       height="67.005905"
 248.124 +       x="255.42564"
 248.125 +       y="368.64264" />
 248.126 +    <text
 248.127 +       xml:space="preserve"
 248.128 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.129 +       x="264.45859"
 248.130 +       y="387.30099"
 248.131 +       id="text3754"><tspan
 248.132 +         sodipodi:role="line"
 248.133 +         id="tspan3756"
 248.134 +         x="264.45859"
 248.135 +         y="387.30099">Snapshot, rev 4</tspan></text>
 248.136 +    <rect
 248.137 +       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 248.138 +       id="rect3761"
 248.139 +       width="93.49366"
 248.140 +       height="29.922237"
 248.141 +       x="255.03891"
 248.142 +       y="442.04395" />
 248.143 +    <text
 248.144 +       xml:space="preserve"
 248.145 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.146 +       x="263.2662"
 248.147 +       y="460.17206"
 248.148 +       id="text3763"><tspan
 248.149 +         sodipodi:role="line"
 248.150 +         id="tspan3765"
 248.151 +         x="263.2662"
 248.152 +         y="460.17206">Delta, rev 4 to 5</tspan></text>
 248.153 +    <rect
 248.154 +       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 248.155 +       id="rect3774"
 248.156 +       width="93.49366"
 248.157 +       height="29.922237"
 248.158 +       x="255.03891"
 248.159 +       y="477.97485" />
 248.160 +    <text
 248.161 +       xml:space="preserve"
 248.162 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.163 +       x="263.2662"
 248.164 +       y="496.10297"
 248.165 +       id="text3776"><tspan
 248.166 +         sodipodi:role="line"
 248.167 +         id="tspan3778"
 248.168 +         x="263.2662"
 248.169 +         y="496.10297">Delta, rev 5 to 6</tspan></text>
 248.170 +    <rect
 248.171 +       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 248.172 +       id="rect3782"
 248.173 +       width="93.49366"
 248.174 +       height="29.922237"
 248.175 +       x="255.03891"
 248.176 +       y="513.90576" />
 248.177 +    <text
 248.178 +       xml:space="preserve"
 248.179 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.180 +       x="263.2662"
 248.181 +       y="532.03387"
 248.182 +       id="text3784"><tspan
 248.183 +         sodipodi:role="line"
 248.184 +         id="tspan3786"
 248.185 +         x="263.2662"
 248.186 +         y="532.03387">Delta, rev 6 to 7</tspan></text>
 248.187 +    <rect
 248.188 +       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 248.189 +       id="rect3889"
 248.190 +       width="93.49366"
 248.191 +       height="29.922237"
 248.192 +       x="255.03891"
 248.193 +       y="332.32489" />
 248.194 +    <text
 248.195 +       xml:space="preserve"
 248.196 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 248.197 +       x="263.2662"
 248.198 +       y="350.453"
 248.199 +       id="text3891"><tspan
 248.200 +         sodipodi:role="line"
 248.201 +         id="tspan3893"
 248.202 +         x="263.2662"
 248.203 +         y="350.453">Delta, rev 2 to 3</tspan></text>
 248.204 +  </g>
 248.205 +</svg>
   249.1 Binary file en/figs/throbber.gif has changed
   250.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   250.2 +++ b/en/figs/tour-history.svg	Mon Mar 30 16:23:33 2009 +0800
   250.3 @@ -0,0 +1,289 @@
   250.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   250.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   250.6 +<svg
   250.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   250.8 +   xmlns:cc="http://web.resource.org/cc/"
   250.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  250.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  250.11 +   xmlns="http://www.w3.org/2000/svg"
  250.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  250.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  250.14 +   width="744.09448819"
  250.15 +   height="1052.3622047"
  250.16 +   id="svg2"
  250.17 +   sodipodi:version="0.32"
  250.18 +   inkscape:version="0.44.1"
  250.19 +   sodipodi:docname="tour-history.svg">
  250.20 +  <defs
  250.21 +     id="defs4">
  250.22 +    <marker
  250.23 +       inkscape:stockid="Arrow1Mstart"
  250.24 +       orient="auto"
  250.25 +       refY="0.0"
  250.26 +       refX="0.0"
  250.27 +       id="Arrow1Mstart"
  250.28 +       style="overflow:visible">
  250.29 +      <path
  250.30 +         id="path2973"
  250.31 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  250.32 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  250.33 +         transform="scale(0.4) translate(10,0)" />
  250.34 +    </marker>
  250.35 +    <marker
  250.36 +       inkscape:stockid="Arrow1Mend"
  250.37 +       orient="auto"
  250.38 +       refY="0.0"
  250.39 +       refX="0.0"
  250.40 +       id="Arrow1Mend"
  250.41 +       style="overflow:visible;">
  250.42 +      <path
  250.43 +         id="path3066"
  250.44 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  250.45 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  250.46 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  250.47 +    </marker>
  250.48 +  </defs>
  250.49 +  <sodipodi:namedview
  250.50 +     id="base"
  250.51 +     pagecolor="#ffffff"
  250.52 +     bordercolor="#666666"
  250.53 +     borderopacity="1.0"
  250.54 +     gridtolerance="10000"
  250.55 +     guidetolerance="10"
  250.56 +     objecttolerance="10"
  250.57 +     inkscape:pageopacity="0.0"
  250.58 +     inkscape:pageshadow="2"
  250.59 +     inkscape:zoom="1.4"
  250.60 +     inkscape:cx="232.14286"
  250.61 +     inkscape:cy="672.75296"
  250.62 +     inkscape:document-units="px"
  250.63 +     inkscape:current-layer="layer1"
  250.64 +     inkscape:window-width="906"
  250.65 +     inkscape:window-height="620"
  250.66 +     inkscape:window-x="5"
  250.67 +     inkscape:window-y="49" />
  250.68 +  <metadata
  250.69 +     id="metadata7">
  250.70 +    <rdf:RDF>
  250.71 +      <cc:Work
  250.72 +         rdf:about="">
  250.73 +        <dc:format>image/svg+xml</dc:format>
  250.74 +        <dc:type
  250.75 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  250.76 +      </cc:Work>
  250.77 +    </rdf:RDF>
  250.78 +  </metadata>
  250.79 +  <g
  250.80 +     inkscape:label="Layer 1"
  250.81 +     inkscape:groupmode="layer"
  250.82 +     id="layer1">
  250.83 +    <rect
  250.84 +       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  250.85 +       id="rect1878"
  250.86 +       width="94.285713"
  250.87 +       height="20.714285"
  250.88 +       x="138"
  250.89 +       y="479.50504" />
  250.90 +    <text
  250.91 +       xml:space="preserve"
  250.92 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  250.93 +       x="162.09892"
  250.94 +       y="493.12619"
  250.95 +       id="text1872"><tspan
  250.96 +         sodipodi:role="line"
  250.97 +         id="tspan1874"
  250.98 +         x="162.09892"
  250.99 +         y="493.12619"
 250.100 +         style="font-family:Courier"><tspan
 250.101 +   style="font-weight:bold"
 250.102 +   id="tspan1876">0</tspan>: REV0</tspan></text>
 250.103 +    <rect
 250.104 +       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 250.105 +       id="rect2800"
 250.106 +       width="94.285713"
 250.107 +       height="20.714285"
 250.108 +       x="138"
 250.109 +       y="432.63004" />
 250.110 +    <text
 250.111 +       xml:space="preserve"
 250.112 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.113 +       x="162.09892"
 250.114 +       y="446.25119"
 250.115 +       id="text2794"><tspan
 250.116 +         sodipodi:role="line"
 250.117 +         id="tspan2796"
 250.118 +         x="162.09892"
 250.119 +         y="446.25119"
 250.120 +         style="font-family:Courier"><tspan
 250.121 +   id="tspan2868"
 250.122 +   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 250.123 +    <rect
 250.124 +       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 250.125 +       id="rect2810"
 250.126 +       width="94.285713"
 250.127 +       height="20.714285"
 250.128 +       x="138"
 250.129 +       y="385.75504" />
 250.130 +    <text
 250.131 +       xml:space="preserve"
 250.132 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.133 +       x="162.09892"
 250.134 +       y="399.37619"
 250.135 +       id="text2804"><tspan
 250.136 +         sodipodi:role="line"
 250.137 +         id="tspan2806"
 250.138 +         x="162.09892"
 250.139 +         y="399.37619"
 250.140 +         style="font-family:Courier"><tspan
 250.141 +   style="font-weight:bold"
 250.142 +   id="tspan2866">2</tspan>: REV2</tspan></text>
 250.143 +    <rect
 250.144 +       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 250.145 +       id="rect2820"
 250.146 +       width="94.285713"
 250.147 +       height="20.714285"
 250.148 +       x="138"
 250.149 +       y="338.88007" />
 250.150 +    <text
 250.151 +       xml:space="preserve"
 250.152 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.153 +       x="162.09892"
 250.154 +       y="352.50122"
 250.155 +       id="text2814"><tspan
 250.156 +         sodipodi:role="line"
 250.157 +         id="tspan2816"
 250.158 +         x="162.09892"
 250.159 +         y="352.50122"
 250.160 +         style="font-family:Courier"><tspan
 250.161 +   style="font-weight:bold"
 250.162 +   id="tspan2864">3</tspan>: REV3</tspan></text>
 250.163 +    <rect
 250.164 +       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 250.165 +       id="rect2830"
 250.166 +       width="94.285713"
 250.167 +       height="20.714285"
 250.168 +       x="138"
 250.169 +       y="292.00504" />
 250.170 +    <text
 250.171 +       xml:space="preserve"
 250.172 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.173 +       x="162.09892"
 250.174 +       y="305.62619"
 250.175 +       id="text2824"><tspan
 250.176 +         sodipodi:role="line"
 250.177 +         id="tspan2826"
 250.178 +         x="162.09892"
 250.179 +         y="305.62619"
 250.180 +         style="font-family:Courier"><tspan
 250.181 +   style="font-weight:bold"
 250.182 +   id="tspan2862">4</tspan>: REV4</tspan></text>
 250.183 +    <text
 250.184 +       xml:space="preserve"
 250.185 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.186 +       x="173.57143"
 250.187 +       y="443.79074"
 250.188 +       id="text2832"><tspan
 250.189 +         sodipodi:role="line"
 250.190 +         id="tspan2834"
 250.191 +         x="173.57143"
 250.192 +         y="443.79074" /></text>
 250.193 +    <path
 250.194 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 250.195 +       d="M 185.14286,478.50504 L 185.14286,454.34432"
 250.196 +       id="path2894"
 250.197 +       inkscape:connector-type="polyline" />
 250.198 +    <path
 250.199 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 250.200 +       d="M 185.14286,431.63004 L 185.14286,407.46932"
 250.201 +       id="path2896"
 250.202 +       inkscape:connector-type="polyline" />
 250.203 +    <path
 250.204 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 250.205 +       d="M 185.14286,384.75504 L 185.14286,360.59435"
 250.206 +       id="path2898"
 250.207 +       inkscape:connector-type="polyline" />
 250.208 +    <path
 250.209 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 250.210 +       d="M 185.14286,337.88007 L 185.14286,313.71932"
 250.211 +       id="path2900"
 250.212 +       inkscape:connector-type="polyline" />
 250.213 +    <text
 250.214 +       xml:space="preserve"
 250.215 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 250.216 +       x="244.60992"
 250.217 +       y="305.245"
 250.218 +       id="text1902"><tspan
 250.219 +         sodipodi:role="line"
 250.220 +         id="tspan1904"
 250.221 +         x="244.60992"
 250.222 +         y="305.245">(newest)</tspan></text>
 250.223 +    <text
 250.224 +       xml:space="preserve"
 250.225 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 250.226 +       x="244.60992"
 250.227 +       y="492.745"
 250.228 +       id="text1906"><tspan
 250.229 +         sodipodi:role="line"
 250.230 +         id="tspan1908"
 250.231 +         x="244.60992"
 250.232 +         y="492.745">(oldest)</tspan></text>
 250.233 +    <rect
 250.234 +       style="opacity:1;fill:#d2e1e4;fill-opacity:1;stroke:#b1cbd0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 250.235 +       id="rect1907"
 250.236 +       width="94.285713"
 250.237 +       height="20.714285"
 250.238 +       x="309.28571"
 250.239 +       y="324.86218" />
 250.240 +    <text
 250.241 +       xml:space="preserve"
 250.242 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 250.243 +       x="333.38464"
 250.244 +       y="338.48334"
 250.245 +       id="text1909"><tspan
 250.246 +         sodipodi:role="line"
 250.247 +         id="tspan1911"
 250.248 +         x="333.38464"
 250.249 +         y="338.48334"
 250.250 +         style="font-family:Courier"><tspan
 250.251 +   style="font-weight:bold"
 250.252 +   id="tspan1913">4</tspan>: REV4</tspan></text>
 250.253 +    <path
 250.254 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 250.255 +       d="M 332.14286,375.21932 L 335.71429,347.36218"
 250.256 +       id="path2802" />
 250.257 +    <path
 250.258 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 250.259 +       d="M 372.69968,375.21932 L 369.12825,347.36218"
 250.260 +       id="path2986" />
 250.261 +    <text
 250.262 +       xml:space="preserve"
 250.263 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 250.264 +       x="335.14285"
 250.265 +       y="387.21933"
 250.266 +       id="text2988"><tspan
 250.267 +         sodipodi:role="line"
 250.268 +         x="335.14285"
 250.269 +         y="387.21933"
 250.270 +         id="tspan3020"
 250.271 +         style="text-align:end;text-anchor:end">revision</tspan><tspan
 250.272 +         sodipodi:role="line"
 250.273 +         x="335.14285"
 250.274 +         y="402.21933"
 250.275 +         id="tspan3014"
 250.276 +         style="text-align:end;text-anchor:end">number</tspan></text>
 250.277 +    <text
 250.278 +       xml:space="preserve"
 250.279 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 250.280 +       x="368.71429"
 250.281 +       y="387.21933"
 250.282 +       id="text2994"><tspan
 250.283 +         sodipodi:role="line"
 250.284 +         id="tspan2996"
 250.285 +         x="368.71429"
 250.286 +         y="387.21933">changeset</tspan><tspan
 250.287 +         sodipodi:role="line"
 250.288 +         x="368.71429"
 250.289 +         y="402.21933"
 250.290 +         id="tspan2998">identifier</tspan></text>
 250.291 +  </g>
 250.292 +</svg>
   251.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   251.2 +++ b/en/figs/tour-merge-conflict.svg	Mon Mar 30 16:23:33 2009 +0800
   251.3 @@ -0,0 +1,210 @@
   251.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   251.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   251.6 +<svg
   251.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   251.8 +   xmlns:cc="http://web.resource.org/cc/"
   251.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  251.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  251.11 +   xmlns="http://www.w3.org/2000/svg"
  251.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  251.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  251.14 +   width="744.09448819"
  251.15 +   height="1052.3622047"
  251.16 +   id="svg2"
  251.17 +   sodipodi:version="0.32"
  251.18 +   inkscape:version="0.44.1"
  251.19 +   sodipodi:docname="tour-merge-conflict.svg">
  251.20 +  <defs
  251.21 +     id="defs4">
  251.22 +    <marker
  251.23 +       inkscape:stockid="Arrow1Mend"
  251.24 +       orient="auto"
  251.25 +       refY="0.0"
  251.26 +       refX="0.0"
  251.27 +       id="Arrow1Mend"
  251.28 +       style="overflow:visible;">
  251.29 +      <path
  251.30 +         id="path3053"
  251.31 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  251.32 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  251.33 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  251.34 +    </marker>
  251.35 +  </defs>
  251.36 +  <sodipodi:namedview
  251.37 +     id="base"
  251.38 +     pagecolor="#ffffff"
  251.39 +     bordercolor="#666666"
  251.40 +     borderopacity="1.0"
  251.41 +     gridtolerance="10000"
  251.42 +     guidetolerance="10"
  251.43 +     objecttolerance="10"
  251.44 +     inkscape:pageopacity="0.0"
  251.45 +     inkscape:pageshadow="2"
  251.46 +     inkscape:zoom="1.4"
  251.47 +     inkscape:cx="164.78349"
  251.48 +     inkscape:cy="590.07679"
  251.49 +     inkscape:document-units="px"
  251.50 +     inkscape:current-layer="layer1"
  251.51 +     inkscape:window-width="906"
  251.52 +     inkscape:window-height="620"
  251.53 +     inkscape:window-x="5"
  251.54 +     inkscape:window-y="49" />
  251.55 +  <metadata
  251.56 +     id="metadata7">
  251.57 +    <rdf:RDF>
  251.58 +      <cc:Work
  251.59 +         rdf:about="">
  251.60 +        <dc:format>image/svg+xml</dc:format>
  251.61 +        <dc:type
  251.62 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  251.63 +      </cc:Work>
  251.64 +    </rdf:RDF>
  251.65 +  </metadata>
  251.66 +  <g
  251.67 +     inkscape:label="Layer 1"
  251.68 +     inkscape:groupmode="layer"
  251.69 +     id="layer1">
  251.70 +    <g
  251.71 +       id="g1988"
  251.72 +       transform="translate(84.85711,0)">
  251.73 +      <g
  251.74 +         id="g1876">
  251.75 +        <path
  251.76 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  251.77 +           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
  251.78 +           id="path1872"
  251.79 +           sodipodi:nodetypes="cccccc" />
  251.80 +        <path
  251.81 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  251.82 +           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
  251.83 +           id="path1874"
  251.84 +           sodipodi:nodetypes="cccc" />
  251.85 +      </g>
  251.86 +      <flowRoot
  251.87 +         style="font-size:8px;font-family:Times New Roman"
  251.88 +         id="flowRoot1898"
  251.89 +         xml:space="preserve"><flowRegion
  251.90 +           id="flowRegion1900"><rect
  251.91 +             style="font-size:8px;font-family:Times New Roman"
  251.92 +             y="464.50504"
  251.93 +             x="122.85714"
  251.94 +             height="93.571426"
  251.95 +             width="76.428574"
  251.96 +             id="rect1902" /></flowRegion><flowPara
  251.97 +           id="flowPara1904">Greetings!</flowPara><flowPara
  251.98 +           id="flowPara1906" /><flowPara
  251.99 +           id="flowPara1908">I am Mariam Abacha, the wife of former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 251.100 +    <g
 251.101 +       id="g1966"
 251.102 +       transform="translate(82,0.35715)">
 251.103 +      <g
 251.104 +         transform="translate(-77.85718,-140.0714)"
 251.105 +         id="g1910">
 251.106 +        <path
 251.107 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 251.108 +           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
 251.109 +           id="path1912"
 251.110 +           sodipodi:nodetypes="cccccc" />
 251.111 +        <path
 251.112 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 251.113 +           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
 251.114 +           id="path1914"
 251.115 +           sodipodi:nodetypes="cccc" />
 251.116 +      </g>
 251.117 +      <flowRoot
 251.118 +         transform="translate(-77.85718,-140.0714)"
 251.119 +         style="font-size:8px;font-family:Times New Roman"
 251.120 +         id="flowRoot1916"
 251.121 +         xml:space="preserve"><flowRegion
 251.122 +           id="flowRegion1918"><rect
 251.123 +             style="font-size:8px;font-family:Times New Roman"
 251.124 +             y="464.50504"
 251.125 +             x="122.85714"
 251.126 +             height="93.571426"
 251.127 +             width="76.428574"
 251.128 +             id="rect1920" /></flowRegion><flowPara
 251.129 +           id="flowPara1922">Greetings!</flowPara><flowPara
 251.130 +           id="flowPara1924" /><flowPara
 251.131 +           id="flowPara1926">I am <flowSpan
 251.132 +   style="font-style:italic;fill:red"
 251.133 +   id="flowSpan3094">Shehu Musa Abacha, cousin to</flowSpan> the former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 251.134 +    <g
 251.135 +       id="g1977"
 251.136 +       transform="translate(81.99999,-0.35715)">
 251.137 +      <g
 251.138 +         transform="translate(83.57141,-139.3571)"
 251.139 +         id="g1932">
 251.140 +        <path
 251.141 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 251.142 +           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
 251.143 +           id="path1934"
 251.144 +           sodipodi:nodetypes="cccccc" />
 251.145 +        <path
 251.146 +           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 251.147 +           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
 251.148 +           id="path1936"
 251.149 +           sodipodi:nodetypes="cccc" />
 251.150 +      </g>
 251.151 +      <flowRoot
 251.152 +         transform="translate(83.57141,-139.3571)"
 251.153 +         style="font-size:8px;font-family:Times New Roman"
 251.154 +         id="flowRoot1938"
 251.155 +         xml:space="preserve"><flowRegion
 251.156 +           id="flowRegion1940"><rect
 251.157 +             style="font-size:8px;font-family:Times New Roman"
 251.158 +             y="464.50504"
 251.159 +             x="122.85714"
 251.160 +             height="93.571426"
 251.161 +             width="76.428574"
 251.162 +             id="rect1942" /></flowRegion><flowPara
 251.163 +           id="flowPara1944">Greetings!</flowPara><flowPara
 251.164 +           id="flowPara1946" /><flowPara
 251.165 +           id="flowPara1948">I am <flowSpan
 251.166 +   style="font-style:italic;fill:red"
 251.167 +   id="flowSpan3096">Alhaji Abba Abacha, son of</flowSpan> the former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 251.168 +    <path
 251.169 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 251.170 +       d="M 215.502,457.71933 L 196.35507,424.5765"
 251.171 +       id="path1999"
 251.172 +       inkscape:connector-type="polyline"
 251.173 +       inkscape:connection-start="#g1988"
 251.174 +       inkscape:connection-end="#g1966" />
 251.175 +    <path
 251.176 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 251.177 +       d="M 277.06936,457.71933 L 296.21629,424.5765"
 251.178 +       id="path2001"
 251.179 +       inkscape:connector-type="polyline"
 251.180 +       inkscape:connection-start="#g1988"
 251.181 +       inkscape:connection-end="#g1977" />
 251.182 +    <text
 251.183 +       xml:space="preserve"
 251.184 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 251.185 +       x="302.42859"
 251.186 +       y="515.08905"
 251.187 +       id="text1905"><tspan
 251.188 +         sodipodi:role="line"
 251.189 +         id="tspan1907"
 251.190 +         x="302.42859"
 251.191 +         y="515.08905">Base version</tspan></text>
 251.192 +    <text
 251.193 +       xml:space="preserve"
 251.194 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 251.195 +       x="45.57143"
 251.196 +       y="374.1619"
 251.197 +       id="text1917"><tspan
 251.198 +         sodipodi:role="line"
 251.199 +         id="tspan1919"
 251.200 +         x="45.57143"
 251.201 +         y="374.1619">Our changes</tspan></text>
 251.202 +    <text
 251.203 +       xml:space="preserve"
 251.204 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 251.205 +       x="385.71429"
 251.206 +       y="374.1619"
 251.207 +       id="text1921"><tspan
 251.208 +         sodipodi:role="line"
 251.209 +         id="tspan1923"
 251.210 +         x="385.71429"
 251.211 +         y="374.1619">Their changes</tspan></text>
 251.212 +  </g>
 251.213 +</svg>
   252.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   252.2 +++ b/en/figs/tour-merge-merge.svg	Mon Mar 30 16:23:33 2009 +0800
   252.3 @@ -0,0 +1,380 @@
   252.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   252.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   252.6 +<svg
   252.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   252.8 +   xmlns:cc="http://web.resource.org/cc/"
   252.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  252.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  252.11 +   xmlns="http://www.w3.org/2000/svg"
  252.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  252.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  252.14 +   width="744.09448819"
  252.15 +   height="1052.3622047"
  252.16 +   id="svg2"
  252.17 +   sodipodi:version="0.32"
  252.18 +   inkscape:version="0.44.1"
  252.19 +   sodipodi:docname="tour-merge-merge.svg">
  252.20 +  <defs
  252.21 +     id="defs4">
  252.22 +    <marker
  252.23 +       inkscape:stockid="Arrow1Mstart"
  252.24 +       orient="auto"
  252.25 +       refY="0.0"
  252.26 +       refX="0.0"
  252.27 +       id="Arrow1Mstart"
  252.28 +       style="overflow:visible">
  252.29 +      <path
  252.30 +         id="path2973"
  252.31 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  252.32 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  252.33 +         transform="scale(0.4) translate(10,0)" />
  252.34 +    </marker>
  252.35 +    <marker
  252.36 +       inkscape:stockid="Arrow1Mend"
  252.37 +       orient="auto"
  252.38 +       refY="0.0"
  252.39 +       refX="0.0"
  252.40 +       id="Arrow1Mend"
  252.41 +       style="overflow:visible;">
  252.42 +      <path
  252.43 +         id="path3066"
  252.44 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  252.45 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  252.46 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  252.47 +    </marker>
  252.48 +  </defs>
  252.49 +  <sodipodi:namedview
  252.50 +     id="base"
  252.51 +     pagecolor="#ffffff"
  252.52 +     bordercolor="#666666"
  252.53 +     borderopacity="1.0"
  252.54 +     gridtolerance="10000"
  252.55 +     guidetolerance="10"
  252.56 +     objecttolerance="10"
  252.57 +     inkscape:pageopacity="0.0"
  252.58 +     inkscape:pageshadow="2"
  252.59 +     inkscape:zoom="1.4"
  252.60 +     inkscape:cx="247.53795"
  252.61 +     inkscape:cy="871.05738"
  252.62 +     inkscape:document-units="px"
  252.63 +     inkscape:current-layer="layer1"
  252.64 +     inkscape:window-width="906"
  252.65 +     inkscape:window-height="620"
  252.66 +     inkscape:window-x="38"
  252.67 +     inkscape:window-y="95" />
  252.68 +  <metadata
  252.69 +     id="metadata7">
  252.70 +    <rdf:RDF>
  252.71 +      <cc:Work
  252.72 +         rdf:about="">
  252.73 +        <dc:format>image/svg+xml</dc:format>
  252.74 +        <dc:type
  252.75 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  252.76 +      </cc:Work>
  252.77 +    </rdf:RDF>
  252.78 +  </metadata>
  252.79 +  <g
  252.80 +     inkscape:label="Layer 1"
  252.81 +     inkscape:groupmode="layer"
  252.82 +     id="layer1">
  252.83 +    <rect
  252.84 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  252.85 +       id="rect2995"
  252.86 +       width="94.285713"
  252.87 +       height="20.714285"
  252.88 +       x="532.85718"
  252.89 +       y="203.0479" />
  252.90 +    <text
  252.91 +       xml:space="preserve"
  252.92 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  252.93 +       x="173.57143"
  252.94 +       y="443.79074"
  252.95 +       id="text2832"><tspan
  252.96 +         sodipodi:role="line"
  252.97 +         id="tspan2834"
  252.98 +         x="173.57143"
  252.99 +         y="443.79074" /></text>
 252.100 +    <rect
 252.101 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.102 +       id="rect2830"
 252.103 +       width="94.285713"
 252.104 +       height="20.714285"
 252.105 +       x="138"
 252.106 +       y="297.76227" />
 252.107 +    <text
 252.108 +       xml:space="preserve"
 252.109 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.110 +       x="162.09892"
 252.111 +       y="311.38342"
 252.112 +       id="text2824"><tspan
 252.113 +         sodipodi:role="line"
 252.114 +         id="tspan2826"
 252.115 +         x="162.09892"
 252.116 +         y="311.38342"
 252.117 +         style="font-family:Courier"><tspan
 252.118 +   style="font-weight:bold"
 252.119 +   id="tspan2862">4</tspan>: REV4</tspan></text>
 252.120 +    <path
 252.121 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 252.122 +       d="M 185.14286,343.63731 L 185.14286,319.47656"
 252.123 +       id="path2900"
 252.124 +       inkscape:connector-type="polyline" />
 252.125 +    <rect
 252.126 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.127 +       id="rect2863"
 252.128 +       width="94.285713"
 252.129 +       height="20.714285"
 252.130 +       x="91.428574"
 252.131 +       y="250.47656" />
 252.132 +    <text
 252.133 +       xml:space="preserve"
 252.134 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.135 +       x="116.09886"
 252.136 +       y="264.56592"
 252.137 +       id="text1965"
 252.138 +       transform="scale(1.000002,0.999998)"><tspan
 252.139 +         sodipodi:role="line"
 252.140 +         id="tspan1967"
 252.141 +         x="116.09886"
 252.142 +         y="264.56592"
 252.143 +         style="font-family:Courier"><tspan
 252.144 +   style="font-weight:bold"
 252.145 +   id="tspan1973">5</tspan>: REV_my_new_hello</tspan></text>
 252.146 +    <path
 252.147 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 252.148 +       d="M 173.95727,296.76228 L 149.75702,272.19085"
 252.149 +       id="path1971"
 252.150 +       inkscape:connector-type="polyline"
 252.151 +       inkscape:connection-end="#rect2863"
 252.152 +       inkscape:connection-start="#rect2830" />
 252.153 +    <rect
 252.154 +       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.155 +       id="rect2911"
 252.156 +       width="94.285995"
 252.157 +       height="20.714283"
 252.158 +       x="186.71414"
 252.159 +       y="204.40514" />
 252.160 +    <text
 252.161 +       xml:space="preserve"
 252.162 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.163 +       x="210.81311"
 252.164 +       y="218.02673"
 252.165 +       id="text2913"
 252.166 +       transform="scale(1.000002,0.999998)"><tspan
 252.167 +         sodipodi:role="line"
 252.168 +         id="tspan2915"
 252.169 +         x="210.81311"
 252.170 +         y="218.02673"
 252.171 +         style="font-family:Courier"><tspan
 252.172 +   id="tspan1966"
 252.173 +   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 252.174 +    <path
 252.175 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 252.176 +       d="M 191.06908,296.76228 L 227.93092,226.11942"
 252.177 +       id="path2919"
 252.178 +       inkscape:connector-type="polyline"
 252.179 +       inkscape:connection-start="#rect2830" />
 252.180 +    <text
 252.181 +       xml:space="preserve"
 252.182 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.183 +       x="295.28571"
 252.184 +       y="217.56711"
 252.185 +       id="text2871"><tspan
 252.186 +         sodipodi:role="line"
 252.187 +         id="tspan2873"
 252.188 +         x="295.28571"
 252.189 +         y="217.56711">tip (and head)</tspan></text>
 252.190 +    <text
 252.191 +       xml:space="preserve"
 252.192 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.193 +       x="76"
 252.194 +       y="264.91769"
 252.195 +       id="text2875"><tspan
 252.196 +         sodipodi:role="line"
 252.197 +         id="tspan2877"
 252.198 +         x="76"
 252.199 +         y="264.91769"
 252.200 +         style="text-align:end;text-anchor:end">head</tspan></text>
 252.201 +    <rect
 252.202 +       style="fill:#c8aaa5;fill-opacity:1;stroke:#a07163;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:2, 4;stroke-dashoffset:0;stroke-opacity:1"
 252.203 +       id="rect1913"
 252.204 +       width="94.285713"
 252.205 +       height="20.714285"
 252.206 +       x="138"
 252.207 +       y="156.90514" />
 252.208 +    <path
 252.209 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
 252.210 +       d="M 144.22399,249.47657 L 179.49029,178.61943"
 252.211 +       id="path1915"
 252.212 +       inkscape:connector-type="polyline"
 252.213 +       inkscape:connection-start="#rect2863"
 252.214 +       inkscape:connection-end="#rect1913" />
 252.215 +    <path
 252.216 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
 252.217 +       d="M 222.20966,203.40514 L 196.79033,178.61943"
 252.218 +       id="path1917"
 252.219 +       inkscape:connector-type="polyline"
 252.220 +       inkscape:connection-start="#rect2911"
 252.221 +       inkscape:connection-end="#rect1913" />
 252.222 +    <text
 252.223 +       xml:space="preserve"
 252.224 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.225 +       x="166.16823"
 252.226 +       y="168.52228"
 252.227 +       id="text2806"><tspan
 252.228 +         sodipodi:role="line"
 252.229 +         id="tspan2808"
 252.230 +         x="166.16823"
 252.231 +         y="168.52228"
 252.232 +         style="font-family:Courier">merge</tspan></text>
 252.233 +    <text
 252.234 +       xml:space="preserve"
 252.235 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.236 +       x="246"
 252.237 +       y="162.63338"
 252.238 +       id="text2810"><tspan
 252.239 +         sodipodi:role="line"
 252.240 +         id="tspan2812"
 252.241 +         x="246"
 252.242 +         y="162.63338">working directory</tspan><tspan
 252.243 +         sodipodi:role="line"
 252.244 +         x="246"
 252.245 +         y="177.63338"
 252.246 +         id="tspan2814">during merge</tspan></text>
 252.247 +    <rect
 252.248 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.249 +       id="rect2816"
 252.250 +       width="94.285713"
 252.251 +       height="20.714285"
 252.252 +       x="483.14636"
 252.253 +       y="297.76227" />
 252.254 +    <text
 252.255 +       xml:space="preserve"
 252.256 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.257 +       x="507.24527"
 252.258 +       y="311.38342"
 252.259 +       id="text2818"><tspan
 252.260 +         sodipodi:role="line"
 252.261 +         id="tspan2820"
 252.262 +         x="507.24527"
 252.263 +         y="311.38342"
 252.264 +         style="font-family:Courier"><tspan
 252.265 +   style="font-weight:bold"
 252.266 +   id="tspan2822">4</tspan>: REV4</tspan></text>
 252.267 +    <path
 252.268 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 252.269 +       d="M 530.28921,343.6373 L 530.28921,319.47655"
 252.270 +       id="path2824"
 252.271 +       inkscape:connector-type="polyline" />
 252.272 +    <rect
 252.273 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.274 +       id="rect2826"
 252.275 +       width="94.285713"
 252.276 +       height="20.714285"
 252.277 +       x="436.57492"
 252.278 +       y="250.47656" />
 252.279 +    <text
 252.280 +       xml:space="preserve"
 252.281 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.282 +       x="461.24484"
 252.283 +       y="264.56613"
 252.284 +       id="text2828"
 252.285 +       transform="scale(1.000002,0.999998)"><tspan
 252.286 +         sodipodi:role="line"
 252.287 +         id="tspan2830"
 252.288 +         x="461.24484"
 252.289 +         y="264.56613"
 252.290 +         style="font-family:Courier"><tspan
 252.291 +   style="font-weight:bold"
 252.292 +   id="tspan2832">5</tspan>: REV_my_new_hello</tspan></text>
 252.293 +    <path
 252.294 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 252.295 +       d="M 519.10362,296.76227 L 494.90337,272.19084"
 252.296 +       id="path2834"
 252.297 +       inkscape:connector-type="polyline" />
 252.298 +    <rect
 252.299 +       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 252.300 +       id="rect2836"
 252.301 +       width="94.285995"
 252.302 +       height="20.714283"
 252.303 +       x="483.14001"
 252.304 +       y="156.548" />
 252.305 +    <text
 252.306 +       xml:space="preserve"
 252.307 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 252.308 +       x="555.95911"
 252.309 +       y="218.02698"
 252.310 +       id="text2838"
 252.311 +       transform="scale(1.000002,0.999998)"><tspan
 252.312 +         sodipodi:role="line"
 252.313 +         id="tspan2840"
 252.314 +         x="555.95911"
 252.315 +         y="218.02698"
 252.316 +         style="font-family:Courier"><tspan
 252.317 +   id="tspan2842"
 252.318 +   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 252.319 +    <path
 252.320 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 252.321 +       d="M 536.21543,296.76227 L 574.03453,224.76218"
 252.322 +       id="path2844"
 252.323 +       inkscape:connector-type="polyline" />
 252.324 +    <text
 252.325 +       xml:space="preserve"
 252.326 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.327 +       x="594.43207"
 252.328 +       y="169.78796"
 252.329 +       id="text2846"><tspan
 252.330 +         sodipodi:role="line"
 252.331 +         id="tspan2848"
 252.332 +         x="594.43207"
 252.333 +         y="169.78796">tip</tspan></text>
 252.334 +    <path
 252.335 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
 252.336 +       d="M 489.37034,249.47656 L 524.65575,178.26229"
 252.337 +       id="path2856"
 252.338 +       inkscape:connector-type="polyline"
 252.339 +       inkscape:connection-end="#rect2836" />
 252.340 +    <path
 252.341 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
 252.342 +       d="M 567.85714,202.0479 L 542.42591,178.26229"
 252.343 +       id="path2858"
 252.344 +       inkscape:connector-type="polyline"
 252.345 +       inkscape:connection-end="#rect2836"
 252.346 +       inkscape:connection-start="#rect2995" />
 252.347 +    <text
 252.348 +       xml:space="preserve"
 252.349 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.350 +       x="504.54507"
 252.351 +       y="170.39714"
 252.352 +       id="text2860"><tspan
 252.353 +         sodipodi:role="line"
 252.354 +         id="tspan2863"
 252.355 +         x="504.54507"
 252.356 +         y="170.39714"
 252.357 +         style="font-family:Courier"><tspan
 252.358 +   style="font-weight:bold"
 252.359 +   id="tspan2997">7</tspan>: REV7_my_new_hello</tspan></text>
 252.360 +    <text
 252.361 +       xml:space="preserve"
 252.362 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.363 +       x="90.323105"
 252.364 +       y="120.21933"
 252.365 +       id="text2929"><tspan
 252.366 +         sodipodi:role="line"
 252.367 +         id="tspan2931"
 252.368 +         x="90.323105"
 252.369 +         y="120.21933"
 252.370 +         style="font-weight:bold">Working directory during merge</tspan></text>
 252.371 +    <text
 252.372 +       xml:space="preserve"
 252.373 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 252.374 +       x="435.35226"
 252.375 +       y="120.21933"
 252.376 +       id="text2937"><tspan
 252.377 +         sodipodi:role="line"
 252.378 +         id="tspan2939"
 252.379 +         x="435.35226"
 252.380 +         y="120.21933"
 252.381 +         style="font-weight:bold">Repository after merge committed</tspan></text>
 252.382 +  </g>
 252.383 +</svg>
   253.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   253.2 +++ b/en/figs/tour-merge-pull.svg	Mon Mar 30 16:23:33 2009 +0800
   253.3 @@ -0,0 +1,288 @@
   253.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   253.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   253.6 +<svg
   253.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   253.8 +   xmlns:cc="http://web.resource.org/cc/"
   253.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  253.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  253.11 +   xmlns="http://www.w3.org/2000/svg"
  253.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  253.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  253.14 +   width="744.09448819"
  253.15 +   height="1052.3622047"
  253.16 +   id="svg2"
  253.17 +   sodipodi:version="0.32"
  253.18 +   inkscape:version="0.44.1"
  253.19 +   sodipodi:docname="tour-merge-pull.svg"
  253.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en">
  253.21 +  <defs
  253.22 +     id="defs4">
  253.23 +    <marker
  253.24 +       inkscape:stockid="Arrow1Mstart"
  253.25 +       orient="auto"
  253.26 +       refY="0.0"
  253.27 +       refX="0.0"
  253.28 +       id="Arrow1Mstart"
  253.29 +       style="overflow:visible">
  253.30 +      <path
  253.31 +         id="path2973"
  253.32 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  253.33 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  253.34 +         transform="scale(0.4) translate(10,0)" />
  253.35 +    </marker>
  253.36 +    <marker
  253.37 +       inkscape:stockid="Arrow1Mend"
  253.38 +       orient="auto"
  253.39 +       refY="0.0"
  253.40 +       refX="0.0"
  253.41 +       id="Arrow1Mend"
  253.42 +       style="overflow:visible;">
  253.43 +      <path
  253.44 +         id="path3066"
  253.45 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  253.46 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  253.47 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  253.48 +    </marker>
  253.49 +  </defs>
  253.50 +  <sodipodi:namedview
  253.51 +     id="base"
  253.52 +     pagecolor="#ffffff"
  253.53 +     bordercolor="#666666"
  253.54 +     borderopacity="1.0"
  253.55 +     gridtolerance="10000"
  253.56 +     guidetolerance="10"
  253.57 +     objecttolerance="10"
  253.58 +     inkscape:pageopacity="0.0"
  253.59 +     inkscape:pageshadow="2"
  253.60 +     inkscape:zoom="1.4"
  253.61 +     inkscape:cx="233.63208"
  253.62 +     inkscape:cy="832.54381"
  253.63 +     inkscape:document-units="px"
  253.64 +     inkscape:current-layer="layer1"
  253.65 +     inkscape:window-width="906"
  253.66 +     inkscape:window-height="620"
  253.67 +     inkscape:window-x="237"
  253.68 +     inkscape:window-y="103" />
  253.69 +  <metadata
  253.70 +     id="metadata7">
  253.71 +    <rdf:RDF>
  253.72 +      <cc:Work
  253.73 +         rdf:about="">
  253.74 +        <dc:format>image/svg+xml</dc:format>
  253.75 +        <dc:type
  253.76 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  253.77 +      </cc:Work>
  253.78 +    </rdf:RDF>
  253.79 +  </metadata>
  253.80 +  <g
  253.81 +     inkscape:label="Layer 1"
  253.82 +     inkscape:groupmode="layer"
  253.83 +     id="layer1">
  253.84 +    <text
  253.85 +       xml:space="preserve"
  253.86 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  253.87 +       x="173.57143"
  253.88 +       y="443.79074"
  253.89 +       id="text2832"><tspan
  253.90 +         sodipodi:role="line"
  253.91 +         id="tspan2834"
  253.92 +         x="173.57143"
  253.93 +         y="443.79074" /></text>
  253.94 +    <rect
  253.95 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  253.96 +       id="rect1878"
  253.97 +       width="94.285713"
  253.98 +       height="20.714285"
  253.99 +       x="138"
 253.100 +       y="479.50504" />
 253.101 +    <text
 253.102 +       xml:space="preserve"
 253.103 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.104 +       x="162.09892"
 253.105 +       y="493.12619"
 253.106 +       id="text1872"><tspan
 253.107 +         sodipodi:role="line"
 253.108 +         id="tspan1874"
 253.109 +         x="162.09892"
 253.110 +         y="493.12619"
 253.111 +         style="font-family:Courier"><tspan
 253.112 +   style="font-weight:bold"
 253.113 +   id="tspan1876">0</tspan>: REV0</tspan></text>
 253.114 +    <rect
 253.115 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.116 +       id="rect2800"
 253.117 +       width="94.285713"
 253.118 +       height="20.714285"
 253.119 +       x="138"
 253.120 +       y="432.63004" />
 253.121 +    <text
 253.122 +       xml:space="preserve"
 253.123 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.124 +       x="162.09892"
 253.125 +       y="446.25119"
 253.126 +       id="text2794"><tspan
 253.127 +         sodipodi:role="line"
 253.128 +         id="tspan2796"
 253.129 +         x="162.09892"
 253.130 +         y="446.25119"
 253.131 +         style="font-family:Courier"><tspan
 253.132 +   id="tspan2868"
 253.133 +   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 253.134 +    <rect
 253.135 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.136 +       id="rect2810"
 253.137 +       width="94.285713"
 253.138 +       height="20.714285"
 253.139 +       x="138"
 253.140 +       y="385.75504" />
 253.141 +    <text
 253.142 +       xml:space="preserve"
 253.143 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.144 +       x="162.09892"
 253.145 +       y="399.37619"
 253.146 +       id="text2804"><tspan
 253.147 +         sodipodi:role="line"
 253.148 +         id="tspan2806"
 253.149 +         x="162.09892"
 253.150 +         y="399.37619"
 253.151 +         style="font-family:Courier"><tspan
 253.152 +   style="font-weight:bold"
 253.153 +   id="tspan2866">2</tspan>: REV2</tspan></text>
 253.154 +    <rect
 253.155 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.156 +       id="rect2820"
 253.157 +       width="94.285713"
 253.158 +       height="20.714285"
 253.159 +       x="138"
 253.160 +       y="338.88007" />
 253.161 +    <text
 253.162 +       xml:space="preserve"
 253.163 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.164 +       x="162.09892"
 253.165 +       y="352.50122"
 253.166 +       id="text2814"><tspan
 253.167 +         sodipodi:role="line"
 253.168 +         id="tspan2816"
 253.169 +         x="162.09892"
 253.170 +         y="352.50122"
 253.171 +         style="font-family:Courier"><tspan
 253.172 +   style="font-weight:bold"
 253.173 +   id="tspan2864">3</tspan>: REV3</tspan></text>
 253.174 +    <rect
 253.175 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.176 +       id="rect2830"
 253.177 +       width="94.285713"
 253.178 +       height="20.714285"
 253.179 +       x="138"
 253.180 +       y="292.00504" />
 253.181 +    <text
 253.182 +       xml:space="preserve"
 253.183 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.184 +       x="162.09892"
 253.185 +       y="305.62619"
 253.186 +       id="text2824"><tspan
 253.187 +         sodipodi:role="line"
 253.188 +         id="tspan2826"
 253.189 +         x="162.09892"
 253.190 +         y="305.62619"
 253.191 +         style="font-family:Courier"><tspan
 253.192 +   style="font-weight:bold"
 253.193 +   id="tspan2862">4</tspan>: REV4</tspan></text>
 253.194 +    <path
 253.195 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 253.196 +       d="M 185.14286,478.50504 L 185.14286,454.34432"
 253.197 +       id="path2894"
 253.198 +       inkscape:connector-type="polyline" />
 253.199 +    <path
 253.200 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 253.201 +       d="M 185.14286,431.63004 L 185.14286,407.46932"
 253.202 +       id="path2896"
 253.203 +       inkscape:connector-type="polyline" />
 253.204 +    <path
 253.205 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 253.206 +       d="M 185.14286,384.75504 L 185.14286,360.59435"
 253.207 +       id="path2898"
 253.208 +       inkscape:connector-type="polyline" />
 253.209 +    <path
 253.210 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 253.211 +       d="M 185.14286,337.88007 L 185.14286,313.71932"
 253.212 +       id="path2900"
 253.213 +       inkscape:connector-type="polyline" />
 253.214 +    <rect
 253.215 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.216 +       id="rect2863"
 253.217 +       width="94.285713"
 253.218 +       height="20.714285"
 253.219 +       x="91.428574"
 253.220 +       y="244.71933" />
 253.221 +    <text
 253.222 +       xml:space="preserve"
 253.223 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.224 +       x="116.09886"
 253.225 +       y="258.80865"
 253.226 +       id="text1965"
 253.227 +       transform="scale(1.000002,0.999998)"><tspan
 253.228 +         sodipodi:role="line"
 253.229 +         id="tspan1967"
 253.230 +         x="116.09886"
 253.231 +         y="258.80865"
 253.232 +         style="font-family:Courier"><tspan
 253.233 +   style="font-weight:bold"
 253.234 +   id="tspan1973">5</tspan>: REV_my_new_hello</tspan></text>
 253.235 +    <path
 253.236 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 253.237 +       d="M 173.95727,291.00504 L 149.75702,266.43361"
 253.238 +       id="path1971"
 253.239 +       inkscape:connector-type="polyline"
 253.240 +       inkscape:connection-end="#rect2863"
 253.241 +       inkscape:connection-start="#rect2830" />
 253.242 +    <rect
 253.243 +       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 253.244 +       id="rect2911"
 253.245 +       width="94.285995"
 253.246 +       height="20.714283"
 253.247 +       x="186.71414"
 253.248 +       y="198.6479" />
 253.249 +    <text
 253.250 +       xml:space="preserve"
 253.251 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 253.252 +       x="210.81311"
 253.253 +       y="212.26949"
 253.254 +       id="text2913"
 253.255 +       transform="scale(1.000002,0.999998)"><tspan
 253.256 +         sodipodi:role="line"
 253.257 +         id="tspan2915"
 253.258 +         x="210.81311"
 253.259 +         y="212.26949"
 253.260 +         style="font-family:Courier"><tspan
 253.261 +   id="tspan1966"
 253.262 +   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 253.263 +    <path
 253.264 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 253.265 +       d="M 191.06908,291.00504 L 227.93092,220.36218"
 253.266 +       id="path2919"
 253.267 +       inkscape:connector-type="polyline"
 253.268 +       inkscape:connection-start="#rect2830" />
 253.269 +    <text
 253.270 +       xml:space="preserve"
 253.271 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 253.272 +       x="295.28571"
 253.273 +       y="211.80988"
 253.274 +       id="text2871"><tspan
 253.275 +         sodipodi:role="line"
 253.276 +         id="tspan2873"
 253.277 +         x="295.28571"
 253.278 +         y="211.80988">tip (and head)</tspan></text>
 253.279 +    <text
 253.280 +       xml:space="preserve"
 253.281 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 253.282 +       x="76"
 253.283 +       y="259.16046"
 253.284 +       id="text2875"><tspan
 253.285 +         sodipodi:role="line"
 253.286 +         id="tspan2877"
 253.287 +         x="76"
 253.288 +         y="259.16046"
 253.289 +         style="text-align:end;text-anchor:end">head</tspan></text>
 253.290 +  </g>
 253.291 +</svg>
   254.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   254.2 +++ b/en/figs/tour-merge-sep-repos.svg	Mon Mar 30 16:23:33 2009 +0800
   254.3 @@ -0,0 +1,466 @@
   254.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   254.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   254.6 +<svg
   254.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   254.8 +   xmlns:cc="http://web.resource.org/cc/"
   254.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  254.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  254.11 +   xmlns="http://www.w3.org/2000/svg"
  254.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  254.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  254.14 +   width="744.09448819"
  254.15 +   height="1052.3622047"
  254.16 +   id="svg2"
  254.17 +   sodipodi:version="0.32"
  254.18 +   inkscape:version="0.44.1"
  254.19 +   sodipodi:docname="tour-merge-sep-repos.svg">
  254.20 +  <defs
  254.21 +     id="defs4">
  254.22 +    <marker
  254.23 +       inkscape:stockid="Arrow1Mstart"
  254.24 +       orient="auto"
  254.25 +       refY="0.0"
  254.26 +       refX="0.0"
  254.27 +       id="Arrow1Mstart"
  254.28 +       style="overflow:visible">
  254.29 +      <path
  254.30 +         id="path2973"
  254.31 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  254.32 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  254.33 +         transform="scale(0.4) translate(10,0)" />
  254.34 +    </marker>
  254.35 +    <marker
  254.36 +       inkscape:stockid="Arrow1Mend"
  254.37 +       orient="auto"
  254.38 +       refY="0.0"
  254.39 +       refX="0.0"
  254.40 +       id="Arrow1Mend"
  254.41 +       style="overflow:visible;">
  254.42 +      <path
  254.43 +         id="path3066"
  254.44 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  254.45 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  254.46 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  254.47 +    </marker>
  254.48 +  </defs>
  254.49 +  <sodipodi:namedview
  254.50 +     id="base"
  254.51 +     pagecolor="#ffffff"
  254.52 +     bordercolor="#666666"
  254.53 +     borderopacity="1.0"
  254.54 +     gridtolerance="10000"
  254.55 +     guidetolerance="10"
  254.56 +     objecttolerance="10"
  254.57 +     inkscape:pageopacity="0.0"
  254.58 +     inkscape:pageshadow="2"
  254.59 +     inkscape:zoom="1.4"
  254.60 +     inkscape:cx="307.20351"
  254.61 +     inkscape:cy="716.87911"
  254.62 +     inkscape:document-units="px"
  254.63 +     inkscape:current-layer="layer1"
  254.64 +     inkscape:window-width="906"
  254.65 +     inkscape:window-height="620"
  254.66 +     inkscape:window-x="5"
  254.67 +     inkscape:window-y="49" />
  254.68 +  <metadata
  254.69 +     id="metadata7">
  254.70 +    <rdf:RDF>
  254.71 +      <cc:Work
  254.72 +         rdf:about="">
  254.73 +        <dc:format>image/svg+xml</dc:format>
  254.74 +        <dc:type
  254.75 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  254.76 +      </cc:Work>
  254.77 +    </rdf:RDF>
  254.78 +  </metadata>
  254.79 +  <g
  254.80 +     inkscape:label="Layer 1"
  254.81 +     inkscape:groupmode="layer"
  254.82 +     id="layer1">
  254.83 +    <text
  254.84 +       xml:space="preserve"
  254.85 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  254.86 +       x="173.57143"
  254.87 +       y="443.79074"
  254.88 +       id="text2832"><tspan
  254.89 +         sodipodi:role="line"
  254.90 +         id="tspan2834"
  254.91 +         x="173.57143"
  254.92 +         y="443.79074" /></text>
  254.93 +    <rect
  254.94 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  254.95 +       id="rect1878"
  254.96 +       width="94.285713"
  254.97 +       height="20.714285"
  254.98 +       x="138"
  254.99 +       y="479.50504" />
 254.100 +    <text
 254.101 +       xml:space="preserve"
 254.102 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.103 +       x="162.09892"
 254.104 +       y="493.12619"
 254.105 +       id="text1872"><tspan
 254.106 +         sodipodi:role="line"
 254.107 +         id="tspan1874"
 254.108 +         x="162.09892"
 254.109 +         y="493.12619"
 254.110 +         style="font-family:Courier"><tspan
 254.111 +   style="font-weight:bold"
 254.112 +   id="tspan1876">0</tspan>: REV0</tspan></text>
 254.113 +    <rect
 254.114 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.115 +       id="rect2800"
 254.116 +       width="94.285713"
 254.117 +       height="20.714285"
 254.118 +       x="138"
 254.119 +       y="432.63004" />
 254.120 +    <text
 254.121 +       xml:space="preserve"
 254.122 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.123 +       x="162.09892"
 254.124 +       y="446.25119"
 254.125 +       id="text2794"><tspan
 254.126 +         sodipodi:role="line"
 254.127 +         id="tspan2796"
 254.128 +         x="162.09892"
 254.129 +         y="446.25119"
 254.130 +         style="font-family:Courier"><tspan
 254.131 +   id="tspan2868"
 254.132 +   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 254.133 +    <rect
 254.134 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.135 +       id="rect2810"
 254.136 +       width="94.285713"
 254.137 +       height="20.714285"
 254.138 +       x="138"
 254.139 +       y="385.75504" />
 254.140 +    <text
 254.141 +       xml:space="preserve"
 254.142 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.143 +       x="162.09892"
 254.144 +       y="399.37619"
 254.145 +       id="text2804"><tspan
 254.146 +         sodipodi:role="line"
 254.147 +         id="tspan2806"
 254.148 +         x="162.09892"
 254.149 +         y="399.37619"
 254.150 +         style="font-family:Courier"><tspan
 254.151 +   style="font-weight:bold"
 254.152 +   id="tspan2866">2</tspan>: REV2</tspan></text>
 254.153 +    <rect
 254.154 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.155 +       id="rect2820"
 254.156 +       width="94.285713"
 254.157 +       height="20.714285"
 254.158 +       x="138"
 254.159 +       y="338.88007" />
 254.160 +    <text
 254.161 +       xml:space="preserve"
 254.162 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.163 +       x="162.09892"
 254.164 +       y="352.50122"
 254.165 +       id="text2814"><tspan
 254.166 +         sodipodi:role="line"
 254.167 +         id="tspan2816"
 254.168 +         x="162.09892"
 254.169 +         y="352.50122"
 254.170 +         style="font-family:Courier"><tspan
 254.171 +   style="font-weight:bold"
 254.172 +   id="tspan2864">3</tspan>: REV3</tspan></text>
 254.173 +    <rect
 254.174 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.175 +       id="rect2830"
 254.176 +       width="94.285713"
 254.177 +       height="20.714285"
 254.178 +       x="138"
 254.179 +       y="292.00504" />
 254.180 +    <text
 254.181 +       xml:space="preserve"
 254.182 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.183 +       x="162.09892"
 254.184 +       y="305.62619"
 254.185 +       id="text2824"><tspan
 254.186 +         sodipodi:role="line"
 254.187 +         id="tspan2826"
 254.188 +         x="162.09892"
 254.189 +         y="305.62619"
 254.190 +         style="font-family:Courier"><tspan
 254.191 +   style="font-weight:bold"
 254.192 +   id="tspan2862">4</tspan>: REV4</tspan></text>
 254.193 +    <path
 254.194 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.195 +       d="M 185.14286,478.50504 L 185.14286,454.34432"
 254.196 +       id="path2894"
 254.197 +       inkscape:connector-type="polyline" />
 254.198 +    <path
 254.199 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.200 +       d="M 185.14286,431.63004 L 185.14286,407.46932"
 254.201 +       id="path2896"
 254.202 +       inkscape:connector-type="polyline" />
 254.203 +    <path
 254.204 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.205 +       d="M 185.14286,384.75504 L 185.14286,360.59435"
 254.206 +       id="path2898"
 254.207 +       inkscape:connector-type="polyline" />
 254.208 +    <path
 254.209 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.210 +       d="M 185.14286,337.88007 L 185.14286,313.71932"
 254.211 +       id="path2900"
 254.212 +       inkscape:connector-type="polyline" />
 254.213 +    <rect
 254.214 +       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.215 +       id="rect1963"
 254.216 +       width="94.285995"
 254.217 +       height="20.714283"
 254.218 +       x="138"
 254.219 +       y="245.18723" />
 254.220 +    <text
 254.221 +       xml:space="preserve"
 254.222 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.223 +       x="162.09877"
 254.224 +       y="258.80865"
 254.225 +       id="text1965"
 254.226 +       transform="scale(1.000002,0.999998)"><tspan
 254.227 +         sodipodi:role="line"
 254.228 +         id="tspan1967"
 254.229 +         x="162.09877"
 254.230 +         y="258.80865"
 254.231 +         style="font-family:Courier"><tspan
 254.232 +   style="font-weight:bold"
 254.233 +   id="tspan1973">5</tspan>: REV_my_hello</tspan></text>
 254.234 +    <path
 254.235 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.236 +       d="M 185.143,291.06218 L 185.143,266.90143"
 254.237 +       id="path1971"
 254.238 +       inkscape:connector-type="polyline" />
 254.239 +    <text
 254.240 +       xml:space="preserve"
 254.241 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 254.242 +       x="136.90039"
 254.243 +       y="232.25546"
 254.244 +       id="text2921"><tspan
 254.245 +         sodipodi:role="line"
 254.246 +         id="tspan2923"
 254.247 +         x="136.90039"
 254.248 +         y="232.25546">my-hello</tspan></text>
 254.249 +    <rect
 254.250 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.251 +       id="rect2863"
 254.252 +       width="94.285713"
 254.253 +       height="20.714285"
 254.254 +       x="370.71414"
 254.255 +       y="479.49289" />
 254.256 +    <text
 254.257 +       xml:space="preserve"
 254.258 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.259 +       x="394.81305"
 254.260 +       y="493.11404"
 254.261 +       id="text2865"><tspan
 254.262 +         sodipodi:role="line"
 254.263 +         id="tspan2867"
 254.264 +         x="394.81305"
 254.265 +         y="493.11404"
 254.266 +         style="font-family:Courier"><tspan
 254.267 +   style="font-weight:bold"
 254.268 +   id="tspan2869">0</tspan>: REV0</tspan></text>
 254.269 +    <rect
 254.270 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.271 +       id="rect2871"
 254.272 +       width="94.285713"
 254.273 +       height="20.714285"
 254.274 +       x="370.71414"
 254.275 +       y="432.61789" />
 254.276 +    <text
 254.277 +       xml:space="preserve"
 254.278 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.279 +       x="394.81305"
 254.280 +       y="446.23904"
 254.281 +       id="text2873"><tspan
 254.282 +         sodipodi:role="line"
 254.283 +         id="tspan2875"
 254.284 +         x="394.81305"
 254.285 +         y="446.23904"
 254.286 +         style="font-family:Courier"><tspan
 254.287 +   id="tspan2877"
 254.288 +   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 254.289 +    <rect
 254.290 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.291 +       id="rect2879"
 254.292 +       width="94.285713"
 254.293 +       height="20.714285"
 254.294 +       x="370.71414"
 254.295 +       y="385.74289" />
 254.296 +    <text
 254.297 +       xml:space="preserve"
 254.298 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.299 +       x="394.81305"
 254.300 +       y="399.36404"
 254.301 +       id="text2881"><tspan
 254.302 +         sodipodi:role="line"
 254.303 +         id="tspan2883"
 254.304 +         x="394.81305"
 254.305 +         y="399.36404"
 254.306 +         style="font-family:Courier"><tspan
 254.307 +   style="font-weight:bold"
 254.308 +   id="tspan2885">2</tspan>: REV2</tspan></text>
 254.309 +    <rect
 254.310 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.311 +       id="rect2887"
 254.312 +       width="94.285713"
 254.313 +       height="20.714285"
 254.314 +       x="370.71414"
 254.315 +       y="338.86792" />
 254.316 +    <text
 254.317 +       xml:space="preserve"
 254.318 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.319 +       x="394.81305"
 254.320 +       y="352.48907"
 254.321 +       id="text2889"><tspan
 254.322 +         sodipodi:role="line"
 254.323 +         id="tspan2891"
 254.324 +         x="394.81305"
 254.325 +         y="352.48907"
 254.326 +         style="font-family:Courier"><tspan
 254.327 +   style="font-weight:bold"
 254.328 +   id="tspan2893">3</tspan>: REV3</tspan></text>
 254.329 +    <rect
 254.330 +       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.331 +       id="rect2895"
 254.332 +       width="94.285713"
 254.333 +       height="20.714285"
 254.334 +       x="370.71414"
 254.335 +       y="291.99289" />
 254.336 +    <text
 254.337 +       xml:space="preserve"
 254.338 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.339 +       x="394.81305"
 254.340 +       y="305.61404"
 254.341 +       id="text2897"><tspan
 254.342 +         sodipodi:role="line"
 254.343 +         id="tspan2899"
 254.344 +         x="394.81305"
 254.345 +         y="305.61404"
 254.346 +         style="font-family:Courier"><tspan
 254.347 +   style="font-weight:bold"
 254.348 +   id="tspan2901">4</tspan>: REV4</tspan></text>
 254.349 +    <path
 254.350 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.351 +       d="M 417.85701,478.4929 L 417.85701,454.33218"
 254.352 +       id="path2903"
 254.353 +       inkscape:connector-type="polyline" />
 254.354 +    <path
 254.355 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.356 +       d="M 417.85701,431.6179 L 417.85701,407.45718"
 254.357 +       id="path2905"
 254.358 +       inkscape:connector-type="polyline" />
 254.359 +    <path
 254.360 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.361 +       d="M 417.85701,384.7429 L 417.85701,360.58221"
 254.362 +       id="path2907"
 254.363 +       inkscape:connector-type="polyline" />
 254.364 +    <path
 254.365 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.366 +       d="M 417.85701,337.86793 L 417.85701,313.70718"
 254.367 +       id="path2909"
 254.368 +       inkscape:connector-type="polyline" />
 254.369 +    <rect
 254.370 +       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.371 +       id="rect2911"
 254.372 +       width="94.285995"
 254.373 +       height="20.714283"
 254.374 +       x="370.71414"
 254.375 +       y="245.17511" />
 254.376 +    <text
 254.377 +       xml:space="preserve"
 254.378 +       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 254.379 +       x="394.81274"
 254.380 +       y="258.79678"
 254.381 +       id="text2913"
 254.382 +       transform="scale(1.000002,0.999998)"><tspan
 254.383 +         sodipodi:role="line"
 254.384 +         id="tspan2915"
 254.385 +         x="394.81274"
 254.386 +         y="258.79678"
 254.387 +         style="font-family:Courier"><tspan
 254.388 +   style="font-weight:bold"
 254.389 +   id="tspan2917">5</tspan>: REV_my_new_hello</tspan></text>
 254.390 +    <path
 254.391 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 254.392 +       d="M 417.85715,291.05004 L 417.85715,266.88929"
 254.393 +       id="path2919"
 254.394 +       inkscape:connector-type="polyline" />
 254.395 +    <text
 254.396 +       xml:space="preserve"
 254.397 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 254.398 +       x="369.61453"
 254.399 +       y="232.25546"
 254.400 +       id="text2925"><tspan
 254.401 +         sodipodi:role="line"
 254.402 +         id="tspan2927"
 254.403 +         x="369.61453"
 254.404 +         y="232.25546">my-new-hello</tspan></text>
 254.405 +    <text
 254.406 +       xml:space="preserve"
 254.407 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 254.408 +       x="300.54352"
 254.409 +       y="252.12723"
 254.410 +       id="text2933"><tspan
 254.411 +         sodipodi:role="line"
 254.412 +         id="tspan2935"
 254.413 +         x="300.54352"
 254.414 +         y="252.12723"
 254.415 +         style="text-align:center;text-anchor:middle">newest changes</tspan><tspan
 254.416 +         sodipodi:role="line"
 254.417 +         x="300.54352"
 254.418 +         y="267.12723"
 254.419 +         style="text-align:center;text-anchor:middle"
 254.420 +         id="tspan3132">differ</tspan></text>
 254.421 +    <text
 254.422 +       xml:space="preserve"
 254.423 +       style="font-size:12px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 254.424 +       x="262.15436"
 254.425 +       y="398.37112"
 254.426 +       id="text2929"><tspan
 254.427 +         sodipodi:role="line"
 254.428 +         x="262.15436"
 254.429 +         y="398.37112"
 254.430 +         id="tspan3013"
 254.431 +         style="text-align:start;text-anchor:start">common history</tspan></text>
 254.432 +    <g
 254.433 +       id="g3107"
 254.434 +       transform="translate(0,0.855744)">
 254.435 +      <path
 254.436 +         id="path3101"
 254.437 +         d="M 300.35713,381.29075 L 300.35713,304.50504"
 254.438 +         style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1" />
 254.439 +      <path
 254.440 +         id="path3105"
 254.441 +         d="M 291.07142,301.64789 L 309.28571,301.64789"
 254.442 +         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#bfbfbf;stroke-width:0.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
 254.443 +    </g>
 254.444 +    <path
 254.445 +       style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
 254.446 +       d="M 300.53571,486.38926 L 300.53571,409.60355"
 254.447 +       id="path3113" />
 254.448 +    <path
 254.449 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#bfbfbf;stroke-width:0.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 254.450 +       d="M 291.25,488.49641 L 309.46429,488.49641"
 254.451 +       id="path3115" />
 254.452 +    <text
 254.453 +       xml:space="preserve"
 254.454 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 254.455 +       x="480.71429"
 254.456 +       y="250.91507"
 254.457 +       id="text1949"><tspan
 254.458 +         sodipodi:role="line"
 254.459 +         id="tspan1951"
 254.460 +         x="480.71429"
 254.461 +         y="250.91507"
 254.462 +         style="text-align:start;text-anchor:start">head revision</tspan><tspan
 254.463 +         sodipodi:role="line"
 254.464 +         x="480.71429"
 254.465 +         y="265.91507"
 254.466 +         id="tspan1953"
 254.467 +         style="text-align:start;text-anchor:start">(has no children)</tspan></text>
 254.468 +  </g>
 254.469 +</svg>
   255.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   255.2 +++ b/en/figs/undo-manual-merge.dot	Mon Mar 30 16:23:33 2009 +0800
   255.3 @@ -0,0 +1,8 @@
   255.4 +digraph undo_manual {
   255.5 +	"first change" -> "second change";
   255.6 +	"second change" -> "third change";
   255.7 +	backout [label="back out\nsecond change", shape=box];
   255.8 +	"second change" -> backout;
   255.9 +	"third change" -> "manual\nmerge";
  255.10 +	backout -> "manual\nmerge";
  255.11 +}
   256.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   256.2 +++ b/en/figs/undo-manual.dot	Mon Mar 30 16:23:33 2009 +0800
   256.3 @@ -0,0 +1,6 @@
   256.4 +digraph undo_manual {
   256.5 +	"first change" -> "second change";
   256.6 +	"second change" -> "third change";
   256.7 +	backout [label="back out\nsecond change", shape=box];
   256.8 +	"second change" -> backout;
   256.9 +}
   257.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   257.2 +++ b/en/figs/undo-non-tip.dot	Mon Mar 30 16:23:33 2009 +0800
   257.3 @@ -0,0 +1,9 @@
   257.4 +digraph undo_non_tip {
   257.5 +	"first change" -> "second change";
   257.6 +	"second change" -> "third change";
   257.7 +	backout [label="back out\nsecond change", shape=box];
   257.8 +	"second change" -> backout;
   257.9 +	merge [label="automated\nmerge", shape=box];
  257.10 +	"third change" -> merge;
  257.11 +	backout -> merge;
  257.12 +}
   258.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   258.2 +++ b/en/figs/undo-simple.dot	Mon Mar 30 16:23:33 2009 +0800
   258.3 @@ -0,0 +1,4 @@
   258.4 +digraph undo_simple {
   258.5 +	"first change" -> "second change";
   258.6 +	"second change" -> "back out\nsecond change";
   258.7 +}
   259.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   259.2 +++ b/en/figs/wdir-after-commit.svg	Mon Mar 30 16:23:33 2009 +0800
   259.3 @@ -0,0 +1,394 @@
   259.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   259.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   259.6 +<svg
   259.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   259.8 +   xmlns:cc="http://web.resource.org/cc/"
   259.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  259.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  259.11 +   xmlns="http://www.w3.org/2000/svg"
  259.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  259.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  259.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  259.15 +   width="744.09448819"
  259.16 +   height="1052.3622047"
  259.17 +   id="svg5971"
  259.18 +   sodipodi:version="0.32"
  259.19 +   inkscape:version="0.44.1"
  259.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  259.21 +   sodipodi:docname="wdir-after-commit.svg">
  259.22 +  <defs
  259.23 +     id="defs5973">
  259.24 +    <linearGradient
  259.25 +       inkscape:collect="always"
  259.26 +       xlink:href="#linearGradient6049"
  259.27 +       id="linearGradient6445"
  259.28 +       gradientUnits="userSpaceOnUse"
  259.29 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  259.30 +       x1="333.91171"
  259.31 +       y1="488.79077"
  259.32 +       x2="508.94543"
  259.33 +       y2="263.79077" />
  259.34 +    <marker
  259.35 +       inkscape:stockid="Arrow1Mstart"
  259.36 +       orient="auto"
  259.37 +       refY="0.0"
  259.38 +       refX="0.0"
  259.39 +       id="Arrow1Mstart"
  259.40 +       style="overflow:visible">
  259.41 +      <path
  259.42 +         id="path4855"
  259.43 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  259.44 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  259.45 +         transform="scale(0.4) translate(10,0)" />
  259.46 +    </marker>
  259.47 +    <linearGradient
  259.48 +       id="linearGradient6049">
  259.49 +      <stop
  259.50 +         style="stop-color:#686868;stop-opacity:1;"
  259.51 +         offset="0"
  259.52 +         id="stop6051" />
  259.53 +      <stop
  259.54 +         style="stop-color:#f0f0f0;stop-opacity:1;"
  259.55 +         offset="1"
  259.56 +         id="stop6053" />
  259.57 +    </linearGradient>
  259.58 +    <marker
  259.59 +       inkscape:stockid="Arrow1Mend"
  259.60 +       orient="auto"
  259.61 +       refY="0.0"
  259.62 +       refX="0.0"
  259.63 +       id="Arrow1Mend"
  259.64 +       style="overflow:visible;">
  259.65 +      <path
  259.66 +         id="path4852"
  259.67 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  259.68 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  259.69 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  259.70 +    </marker>
  259.71 +    <linearGradient
  259.72 +       inkscape:collect="always"
  259.73 +       xlink:href="#linearGradient6049"
  259.74 +       id="linearGradient6083"
  259.75 +       gradientUnits="userSpaceOnUse"
  259.76 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  259.77 +       x1="333.91171"
  259.78 +       y1="488.79077"
  259.79 +       x2="508.94543"
  259.80 +       y2="263.79077" />
  259.81 +    <linearGradient
  259.82 +       inkscape:collect="always"
  259.83 +       xlink:href="#linearGradient6049"
  259.84 +       id="linearGradient6142"
  259.85 +       gradientUnits="userSpaceOnUse"
  259.86 +       gradientTransform="translate(-42.00893,-30.49544)"
  259.87 +       x1="333.91171"
  259.88 +       y1="488.79077"
  259.89 +       x2="508.94543"
  259.90 +       y2="263.79077" />
  259.91 +    <linearGradient
  259.92 +       inkscape:collect="always"
  259.93 +       xlink:href="#linearGradient6049"
  259.94 +       id="linearGradient6193"
  259.95 +       gradientUnits="userSpaceOnUse"
  259.96 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  259.97 +       x1="333.91171"
  259.98 +       y1="488.79077"
  259.99 +       x2="508.94543"
 259.100 +       y2="263.79077" />
 259.101 +    <linearGradient
 259.102 +       inkscape:collect="always"
 259.103 +       xlink:href="#linearGradient6049"
 259.104 +       id="linearGradient6216"
 259.105 +       gradientUnits="userSpaceOnUse"
 259.106 +       gradientTransform="translate(-6.0462,-0.664361)"
 259.107 +       x1="333.91171"
 259.108 +       y1="488.79077"
 259.109 +       x2="508.94543"
 259.110 +       y2="263.79077" />
 259.111 +    <linearGradient
 259.112 +       inkscape:collect="always"
 259.113 +       xlink:href="#linearGradient6049"
 259.114 +       id="linearGradient6232"
 259.115 +       gradientUnits="userSpaceOnUse"
 259.116 +       gradientTransform="matrix(1.000474,0,0,0.790947,222.8399,50.85693)"
 259.117 +       x1="333.91171"
 259.118 +       y1="488.79077"
 259.119 +       x2="508.94543"
 259.120 +       y2="263.79077" />
 259.121 +    <linearGradient
 259.122 +       inkscape:collect="always"
 259.123 +       xlink:href="#linearGradient6049"
 259.124 +       id="linearGradient6772"
 259.125 +       gradientUnits="userSpaceOnUse"
 259.126 +       gradientTransform="matrix(1.000474,0,0,0.790947,222.8399,50.85693)"
 259.127 +       x1="333.91171"
 259.128 +       y1="488.79077"
 259.129 +       x2="508.94543"
 259.130 +       y2="263.79077" />
 259.131 +  </defs>
 259.132 +  <sodipodi:namedview
 259.133 +     id="base"
 259.134 +     pagecolor="#ffffff"
 259.135 +     bordercolor="#666666"
 259.136 +     borderopacity="1.0"
 259.137 +     gridtolerance="10000"
 259.138 +     guidetolerance="10"
 259.139 +     objecttolerance="10"
 259.140 +     inkscape:pageopacity="0.0"
 259.141 +     inkscape:pageshadow="2"
 259.142 +     inkscape:zoom="0.90509668"
 259.143 +     inkscape:cx="390.0539"
 259.144 +     inkscape:cy="690.49342"
 259.145 +     inkscape:document-units="px"
 259.146 +     inkscape:current-layer="layer1"
 259.147 +     showguides="true"
 259.148 +     inkscape:guide-bbox="true"
 259.149 +     inkscape:window-width="906"
 259.150 +     inkscape:window-height="620"
 259.151 +     inkscape:window-x="0"
 259.152 +     inkscape:window-y="25">
 259.153 +    <sodipodi:guide
 259.154 +       orientation="vertical"
 259.155 +       position="-1.4285714"
 259.156 +       id="guide6022" />
 259.157 +  </sodipodi:namedview>
 259.158 +  <metadata
 259.159 +     id="metadata5976">
 259.160 +    <rdf:RDF>
 259.161 +      <cc:Work
 259.162 +         rdf:about="">
 259.163 +        <dc:format>image/svg+xml</dc:format>
 259.164 +        <dc:type
 259.165 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 259.166 +      </cc:Work>
 259.167 +    </rdf:RDF>
 259.168 +  </metadata>
 259.169 +  <g
 259.170 +     inkscape:label="Layer 1"
 259.171 +     inkscape:groupmode="layer"
 259.172 +     id="layer1">
 259.173 +    <rect
 259.174 +       y="245.98355"
 259.175 +       x="328.23956"
 259.176 +       height="258.57144"
 259.177 +       width="174.28572"
 259.178 +       id="rect6047"
 259.179 +       style="fill:url(#linearGradient6216);fill-opacity:1;stroke:#686868;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 259.180 +    <g
 259.181 +       id="g6261"
 259.182 +       transform="translate(234,0)">
 259.183 +      <rect
 259.184 +         y="258.7149"
 259.185 +         x="114.11369"
 259.186 +         height="44.537449"
 259.187 +         width="134.53746"
 259.188 +         id="rect5983"
 259.189 +         style="fill:#b1b1b1;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 259.190 +      <text
 259.191 +         id="text5985"
 259.192 +         y="284.47562"
 259.193 +         x="138.7962"
 259.194 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.195 +         xml:space="preserve"><tspan
 259.196 +           style="font-family:Courier"
 259.197 +           y="284.47562"
 259.198 +           x="138.7962"
 259.199 +           id="tspan5987"
 259.200 +           sodipodi:role="line">dfbbb33f3fa3</tspan></text>
 259.201 +    </g>
 259.202 +    <rect
 259.203 +       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 259.204 +       id="rect5996"
 259.205 +       width="134.53746"
 259.206 +       height="44.537449"
 259.207 +       x="348.11371"
 259.208 +       y="320.38159" />
 259.209 +    <text
 259.210 +       xml:space="preserve"
 259.211 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.212 +       x="372.7962"
 259.213 +       y="346.1423"
 259.214 +       id="text5998"><tspan
 259.215 +         sodipodi:role="line"
 259.216 +         id="tspan6000"
 259.217 +         x="372.7962"
 259.218 +         y="346.1423"
 259.219 +         style="font-family:Courier">e7639888bb2f</tspan></text>
 259.220 +    <rect
 259.221 +       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 259.222 +       id="rect6004"
 259.223 +       width="134.53746"
 259.224 +       height="44.537449"
 259.225 +       x="348.11371"
 259.226 +       y="382.04825" />
 259.227 +    <text
 259.228 +       xml:space="preserve"
 259.229 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.230 +       x="370.65421"
 259.231 +       y="407.80896"
 259.232 +       id="text6006"><tspan
 259.233 +         sodipodi:role="line"
 259.234 +         id="tspan6008"
 259.235 +         x="370.65421"
 259.236 +         y="407.80896"
 259.237 +         style="font-family:Courier">7b064d8bac5e</tspan></text>
 259.238 +    <path
 259.239 +       inkscape:connector-type="polyline"
 259.240 +       id="path6018"
 259.241 +       d="M 415.38242,303.62646 L 415.38242,320.00744"
 259.242 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 259.243 +    <path
 259.244 +       inkscape:connection-end="#rect6004"
 259.245 +       inkscape:connector-type="polyline"
 259.246 +       id="path6020"
 259.247 +       d="M 415.38242,365.29315 L 415.38243,381.67412"
 259.248 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 259.249 +    <rect
 259.250 +       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 259.251 +       id="rect6039"
 259.252 +       width="134.53746"
 259.253 +       height="44.537449"
 259.254 +       x="348.11359"
 259.255 +       y="443.71487" />
 259.256 +    <text
 259.257 +       xml:space="preserve"
 259.258 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.259 +       x="372.79706"
 259.260 +       y="469.47556"
 259.261 +       id="text6041"><tspan
 259.262 +         sodipodi:role="line"
 259.263 +         id="tspan6043"
 259.264 +         x="372.79706"
 259.265 +         y="469.47556"
 259.266 +         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 259.267 +    <path
 259.268 +       inkscape:connection-end="#rect6039"
 259.269 +       inkscape:connector-type="polyline"
 259.270 +       id="path6045"
 259.271 +       d="M 415.38238,426.95981 L 415.38235,443.34087"
 259.272 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 259.273 +    <text
 259.274 +       xml:space="preserve"
 259.275 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.276 +       x="327.66046"
 259.277 +       y="231.36218"
 259.278 +       id="text6102"><tspan
 259.279 +         sodipodi:role="line"
 259.280 +         id="tspan6104"
 259.281 +         x="327.66046"
 259.282 +         y="231.36218">History in repository</tspan></text>
 259.283 +    <rect
 259.284 +       y="245.94225"
 259.285 +       x="557.28418"
 259.286 +       height="204.51619"
 259.287 +       width="174.36833"
 259.288 +       id="rect6140"
 259.289 +       style="fill:url(#linearGradient6232);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 259.290 +    <g
 259.291 +       id="g6130"
 259.292 +       transform="translate(262.3254,24.38544)">
 259.293 +      <rect
 259.294 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 259.295 +         id="rect6106"
 259.296 +         width="134.53746"
 259.297 +         height="44.537449"
 259.298 +         x="314.87415"
 259.299 +         y="257.95059" />
 259.300 +      <text
 259.301 +         xml:space="preserve"
 259.302 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.303 +         x="339.55664"
 259.304 +         y="283.7113"
 259.305 +         id="text6108"><tspan
 259.306 +           sodipodi:role="line"
 259.307 +           id="tspan6110"
 259.308 +           x="339.55664"
 259.309 +           y="283.7113"
 259.310 +           style="font-family:Courier">dfbbb33f3fa3</tspan></text>
 259.311 +    </g>
 259.312 +    <g
 259.313 +       id="g6135"
 259.314 +       transform="translate(263.0396,49.83106)">
 259.315 +      <rect
 259.316 +         inkscape:transform-center-y="102.85714"
 259.317 +         inkscape:transform-center-x="129.28571"
 259.318 +         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 259.319 +         id="rect6112"
 259.320 +         width="134.53746"
 259.321 +         height="44.537449"
 259.322 +         x="314.15985"
 259.323 +         y="326.52203" />
 259.324 +      <text
 259.325 +         inkscape:transform-center-y="102.7311"
 259.326 +         inkscape:transform-center-x="128.69672"
 259.327 +         xml:space="preserve"
 259.328 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.329 +         x="338.84335"
 259.330 +         y="352.28271"
 259.331 +         id="text6114"><tspan
 259.332 +           sodipodi:role="line"
 259.333 +           id="tspan6116"
 259.334 +           x="338.84335"
 259.335 +           y="352.28271"
 259.336 +           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 259.337 +    </g>
 259.338 +    <text
 259.339 +       xml:space="preserve"
 259.340 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.341 +       x="576.63208"
 259.342 +       y="270.479"
 259.343 +       id="text6118"><tspan
 259.344 +         sodipodi:role="line"
 259.345 +         id="tspan6120"
 259.346 +         x="576.63208"
 259.347 +         y="270.479">First parent</tspan></text>
 259.348 +    <text
 259.349 +       xml:space="preserve"
 259.350 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.351 +       x="576.07544"
 259.352 +       y="364.49615"
 259.353 +       id="text6122"><tspan
 259.354 +         sodipodi:role="line"
 259.355 +         id="tspan6124"
 259.356 +         x="576.07544"
 259.357 +         y="364.49615">Second parent</tspan></text>
 259.358 +    <text
 259.359 +       xml:space="preserve"
 259.360 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.361 +       x="556.61743"
 259.362 +       y="231.36218"
 259.363 +       id="text6195"><tspan
 259.364 +         sodipodi:role="line"
 259.365 +         id="tspan6197"
 259.366 +         x="556.61743"
 259.367 +         y="231.36218">Parents of working directory</tspan></text>
 259.368 +    <path
 259.369 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 259.370 +       d="M 576.82542,297.63008 L 483.02528,287.95831"
 259.371 +       id="path6266"
 259.372 +       inkscape:connector-type="polyline"
 259.373 +       inkscape:connection-start="#g6130"
 259.374 +       inkscape:connection-end="#g6261" />
 259.375 +    <path
 259.376 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 259.377 +       d="M 665.12232,418.17579 L 665.12232,418.17579"
 259.378 +       id="path6270"
 259.379 +       inkscape:connector-type="polyline" />
 259.380 +    <text
 259.381 +       xml:space="preserve"
 259.382 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 259.383 +       x="316.86407"
 259.384 +       y="275.6496"
 259.385 +       id="text6573"><tspan
 259.386 +         sodipodi:role="line"
 259.387 +         id="tspan6575"
 259.388 +         x="316.86407"
 259.389 +         y="275.6496"
 259.390 +         style="text-align:end;text-anchor:end">New</tspan><tspan
 259.391 +         sodipodi:role="line"
 259.392 +         x="316.86407"
 259.393 +         y="290.6496"
 259.394 +         id="tspan6577"
 259.395 +         style="text-align:end;text-anchor:end">changeset</tspan></text>
 259.396 +  </g>
 259.397 +</svg>
   260.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   260.2 +++ b/en/figs/wdir-branch.svg	Mon Mar 30 16:23:33 2009 +0800
   260.3 @@ -0,0 +1,418 @@
   260.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   260.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   260.6 +<svg
   260.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   260.8 +   xmlns:cc="http://web.resource.org/cc/"
   260.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  260.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  260.11 +   xmlns="http://www.w3.org/2000/svg"
  260.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  260.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  260.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  260.15 +   width="744.09448819"
  260.16 +   height="1052.3622047"
  260.17 +   id="svg5971"
  260.18 +   sodipodi:version="0.32"
  260.19 +   inkscape:version="0.44.1"
  260.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  260.21 +   sodipodi:docname="wdir-branch.svg">
  260.22 +  <defs
  260.23 +     id="defs5973">
  260.24 +    <marker
  260.25 +       inkscape:stockid="Arrow1Mstart"
  260.26 +       orient="auto"
  260.27 +       refY="0.0"
  260.28 +       refX="0.0"
  260.29 +       id="Arrow1Mstart"
  260.30 +       style="overflow:visible">
  260.31 +      <path
  260.32 +         id="path4855"
  260.33 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  260.34 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  260.35 +         transform="scale(0.4) translate(10,0)" />
  260.36 +    </marker>
  260.37 +    <linearGradient
  260.38 +       id="linearGradient6049">
  260.39 +      <stop
  260.40 +         style="stop-color:#686868;stop-opacity:1;"
  260.41 +         offset="0"
  260.42 +         id="stop6051" />
  260.43 +      <stop
  260.44 +         style="stop-color:#f0f0f0;stop-opacity:1;"
  260.45 +         offset="1"
  260.46 +         id="stop6053" />
  260.47 +    </linearGradient>
  260.48 +    <marker
  260.49 +       inkscape:stockid="Arrow1Mend"
  260.50 +       orient="auto"
  260.51 +       refY="0.0"
  260.52 +       refX="0.0"
  260.53 +       id="Arrow1Mend"
  260.54 +       style="overflow:visible;">
  260.55 +      <path
  260.56 +         id="path4852"
  260.57 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  260.58 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  260.59 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  260.60 +    </marker>
  260.61 +    <linearGradient
  260.62 +       inkscape:collect="always"
  260.63 +       xlink:href="#linearGradient6049"
  260.64 +       id="linearGradient6083"
  260.65 +       gradientUnits="userSpaceOnUse"
  260.66 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  260.67 +       x1="333.91171"
  260.68 +       y1="488.79077"
  260.69 +       x2="508.94543"
  260.70 +       y2="263.79077" />
  260.71 +    <linearGradient
  260.72 +       inkscape:collect="always"
  260.73 +       xlink:href="#linearGradient6049"
  260.74 +       id="linearGradient6142"
  260.75 +       gradientUnits="userSpaceOnUse"
  260.76 +       gradientTransform="translate(-42.00893,-30.49544)"
  260.77 +       x1="333.91171"
  260.78 +       y1="488.79077"
  260.79 +       x2="508.94543"
  260.80 +       y2="263.79077" />
  260.81 +    <linearGradient
  260.82 +       inkscape:collect="always"
  260.83 +       xlink:href="#linearGradient6049"
  260.84 +       id="linearGradient6193"
  260.85 +       gradientUnits="userSpaceOnUse"
  260.86 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  260.87 +       x1="333.91171"
  260.88 +       y1="488.79077"
  260.89 +       x2="508.94543"
  260.90 +       y2="263.79077" />
  260.91 +    <linearGradient
  260.92 +       inkscape:collect="always"
  260.93 +       xlink:href="#linearGradient6049"
  260.94 +       id="linearGradient6216"
  260.95 +       gradientUnits="userSpaceOnUse"
  260.96 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  260.97 +       x1="333.91171"
  260.98 +       y1="488.79077"
  260.99 +       x2="508.94543"
 260.100 +       y2="263.79077" />
 260.101 +    <linearGradient
 260.102 +       inkscape:collect="always"
 260.103 +       xlink:href="#linearGradient6049"
 260.104 +       id="linearGradient6232"
 260.105 +       gradientUnits="userSpaceOnUse"
 260.106 +       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 260.107 +       x1="333.91171"
 260.108 +       y1="488.79077"
 260.109 +       x2="508.94543"
 260.110 +       y2="263.79077" />
 260.111 +    <linearGradient
 260.112 +       inkscape:collect="always"
 260.113 +       xlink:href="#linearGradient6049"
 260.114 +       id="linearGradient6445"
 260.115 +       gradientUnits="userSpaceOnUse"
 260.116 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 260.117 +       x1="333.91171"
 260.118 +       y1="488.79077"
 260.119 +       x2="508.94543"
 260.120 +       y2="263.79077" />
 260.121 +    <linearGradient
 260.122 +       inkscape:collect="always"
 260.123 +       xlink:href="#linearGradient6049"
 260.124 +       id="linearGradient6974"
 260.125 +       gradientUnits="userSpaceOnUse"
 260.126 +       gradientTransform="matrix(1.911882,0,0,0.789965,-574.7896,51.22599)"
 260.127 +       x1="333.91171"
 260.128 +       y1="488.79077"
 260.129 +       x2="508.94543"
 260.130 +       y2="263.79077" />
 260.131 +    <linearGradient
 260.132 +       inkscape:collect="always"
 260.133 +       xlink:href="#linearGradient6049"
 260.134 +       id="linearGradient6996"
 260.135 +       gradientUnits="userSpaceOnUse"
 260.136 +       gradientTransform="matrix(1.000473,0,0,0.790947,112.8399,50.85693)"
 260.137 +       x1="333.91171"
 260.138 +       y1="488.79077"
 260.139 +       x2="508.94543"
 260.140 +       y2="263.79077" />
 260.141 +  </defs>
 260.142 +  <sodipodi:namedview
 260.143 +     id="base"
 260.144 +     pagecolor="#ffffff"
 260.145 +     bordercolor="#666666"
 260.146 +     borderopacity="1.0"
 260.147 +     gridtolerance="10000"
 260.148 +     guidetolerance="10"
 260.149 +     objecttolerance="10"
 260.150 +     inkscape:pageopacity="0.0"
 260.151 +     inkscape:pageshadow="2"
 260.152 +     inkscape:zoom="0.90509668"
 260.153 +     inkscape:cx="345.85973"
 260.154 +     inkscape:cy="690.49342"
 260.155 +     inkscape:document-units="px"
 260.156 +     inkscape:current-layer="layer1"
 260.157 +     showguides="true"
 260.158 +     inkscape:guide-bbox="true"
 260.159 +     inkscape:window-width="906"
 260.160 +     inkscape:window-height="620"
 260.161 +     inkscape:window-x="0"
 260.162 +     inkscape:window-y="25">
 260.163 +    <sodipodi:guide
 260.164 +       orientation="vertical"
 260.165 +       position="-1.4285714"
 260.166 +       id="guide6022" />
 260.167 +  </sodipodi:namedview>
 260.168 +  <metadata
 260.169 +     id="metadata5976">
 260.170 +    <rdf:RDF>
 260.171 +      <cc:Work
 260.172 +         rdf:about="">
 260.173 +        <dc:format>image/svg+xml</dc:format>
 260.174 +        <dc:type
 260.175 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 260.176 +      </cc:Work>
 260.177 +    </rdf:RDF>
 260.178 +  </metadata>
 260.179 +  <g
 260.180 +     inkscape:label="Layer 1"
 260.181 +     inkscape:groupmode="layer"
 260.182 +     id="layer1">
 260.183 +    <rect
 260.184 +       y="246.06918"
 260.185 +       x="64.325172"
 260.186 +       height="204.26233"
 260.187 +       width="333.2135"
 260.188 +       id="rect6047"
 260.189 +       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.91925466;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 260.190 +    <g
 260.191 +       id="g1935">
 260.192 +      <rect
 260.193 +         y="266.24374"
 260.194 +         x="84.113708"
 260.195 +         height="44.537449"
 260.196 +         width="134.53746"
 260.197 +         id="rect5996"
 260.198 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 260.199 +      <text
 260.200 +         id="text5998"
 260.201 +         y="292.00446"
 260.202 +         x="108.7962"
 260.203 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.204 +         xml:space="preserve"><tspan
 260.205 +           style="font-family:Courier"
 260.206 +           y="292.00446"
 260.207 +           x="108.7962"
 260.208 +           id="tspan6000"
 260.209 +           sodipodi:role="line">e7639888bb2f</tspan></text>
 260.210 +    </g>
 260.211 +    <g
 260.212 +       id="g6976"
 260.213 +       transform="translate(70,0)">
 260.214 +      <rect
 260.215 +         y="327.9104"
 260.216 +         x="40.113693"
 260.217 +         height="44.537449"
 260.218 +         width="134.53746"
 260.219 +         id="rect6004"
 260.220 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 260.221 +      <text
 260.222 +         id="text6006"
 260.223 +         y="353.67111"
 260.224 +         x="62.654205"
 260.225 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.226 +         xml:space="preserve"><tspan
 260.227 +           style="font-family:Courier"
 260.228 +           y="353.67111"
 260.229 +           x="62.654205"
 260.230 +           id="tspan6008"
 260.231 +           sodipodi:role="line">7b064d8bac5e</tspan></text>
 260.232 +    </g>
 260.233 +    <path
 260.234 +       inkscape:connector-type="polyline"
 260.235 +       id="path6020"
 260.236 +       d="M 160.92915,311.15532 L 167.83571,327.53627"
 260.237 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 260.238 +       inkscape:connection-end="#g6976"
 260.239 +       inkscape:connection-start="#g1935" />
 260.240 +    <rect
 260.241 +       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 260.242 +       id="rect6039"
 260.243 +       width="134.53746"
 260.244 +       height="44.537449"
 260.245 +       x="110.11359"
 260.246 +       y="389.57703" />
 260.247 +    <text
 260.248 +       xml:space="preserve"
 260.249 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.250 +       x="134.79706"
 260.251 +       y="415.33771"
 260.252 +       id="text6041"><tspan
 260.253 +         sodipodi:role="line"
 260.254 +         id="tspan6043"
 260.255 +         x="134.79706"
 260.256 +         y="415.33771"
 260.257 +         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 260.258 +    <path
 260.259 +       inkscape:connection-end="#rect6039"
 260.260 +       inkscape:connector-type="polyline"
 260.261 +       id="path6045"
 260.262 +       d="M 177.38238,372.82195 L 177.38235,389.20303"
 260.263 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 260.264 +    <rect
 260.265 +       y="245.94225"
 260.266 +       x="447.28412"
 260.267 +       height="204.51619"
 260.268 +       width="174.36833"
 260.269 +       id="rect6140"
 260.270 +       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 260.271 +    <g
 260.272 +       id="g6130"
 260.273 +       transform="translate(152.3254,24.38544)">
 260.274 +      <rect
 260.275 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 260.276 +         id="rect6106"
 260.277 +         width="134.53746"
 260.278 +         height="44.537449"
 260.279 +         x="314.87415"
 260.280 +         y="257.95059" />
 260.281 +      <text
 260.282 +         xml:space="preserve"
 260.283 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.284 +         x="339.55664"
 260.285 +         y="283.7113"
 260.286 +         id="text6108"><tspan
 260.287 +           sodipodi:role="line"
 260.288 +           id="tspan6110"
 260.289 +           x="339.55664"
 260.290 +           y="283.7113"
 260.291 +           style="font-family:Courier">ffb20e1701ea</tspan></text>
 260.292 +    </g>
 260.293 +    <g
 260.294 +       id="g6135"
 260.295 +       transform="translate(153.0396,49.83106)">
 260.296 +      <rect
 260.297 +         inkscape:transform-center-y="102.85714"
 260.298 +         inkscape:transform-center-x="129.28571"
 260.299 +         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 260.300 +         id="rect6112"
 260.301 +         width="134.53746"
 260.302 +         height="44.537449"
 260.303 +         x="314.15985"
 260.304 +         y="326.52203" />
 260.305 +      <text
 260.306 +         inkscape:transform-center-y="102.7311"
 260.307 +         inkscape:transform-center-x="128.69672"
 260.308 +         xml:space="preserve"
 260.309 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.310 +         x="338.84335"
 260.311 +         y="352.28271"
 260.312 +         id="text6114"><tspan
 260.313 +           sodipodi:role="line"
 260.314 +           id="tspan6116"
 260.315 +           x="338.84335"
 260.316 +           y="352.28271"
 260.317 +           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 260.318 +    </g>
 260.319 +    <text
 260.320 +       xml:space="preserve"
 260.321 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.322 +       x="466.63208"
 260.323 +       y="270.479"
 260.324 +       id="text6118"><tspan
 260.325 +         sodipodi:role="line"
 260.326 +         id="tspan6120"
 260.327 +         x="466.63208"
 260.328 +         y="270.479">First parent</tspan></text>
 260.329 +    <text
 260.330 +       xml:space="preserve"
 260.331 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.332 +       x="466.07544"
 260.333 +       y="364.49615"
 260.334 +       id="text6122"><tspan
 260.335 +         sodipodi:role="line"
 260.336 +         id="tspan6124"
 260.337 +         x="466.07544"
 260.338 +         y="364.49615">Second parent</tspan></text>
 260.339 +    <text
 260.340 +       xml:space="preserve"
 260.341 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.342 +       x="446.61743"
 260.343 +       y="231.36218"
 260.344 +       id="text6195"><tspan
 260.345 +         sodipodi:role="line"
 260.346 +         id="tspan6197"
 260.347 +         x="446.61743"
 260.348 +         y="231.36218">Parents of working directory</tspan></text>
 260.349 +    <path
 260.350 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 260.351 +       d="M 466.82542,300.21999 L 377.00207,294.39744"
 260.352 +       id="path6266"
 260.353 +       inkscape:connector-type="polyline"
 260.354 +       inkscape:connection-start="#g6130"
 260.355 +       inkscape:connection-end="#rect1925" />
 260.356 +    <path
 260.357 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 260.358 +       d="M 665.12232,418.17579 L 665.12232,418.17579"
 260.359 +       id="path6270"
 260.360 +       inkscape:connector-type="polyline" />
 260.361 +    <g
 260.362 +       id="g2845">
 260.363 +      <rect
 260.364 +         y="266.24374"
 260.365 +         x="242.09048"
 260.366 +         height="44.537449"
 260.367 +         width="134.53746"
 260.368 +         id="rect1925"
 260.369 +         style="fill:#9f9f9f;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 260.370 +      <text
 260.371 +         id="text1927"
 260.372 +         y="292.00446"
 260.373 +         x="266.77298"
 260.374 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.375 +         xml:space="preserve"><tspan
 260.376 +           style="font-family:Courier"
 260.377 +           y="292.00446"
 260.378 +           x="266.77298"
 260.379 +           id="tspan1929"
 260.380 +           sodipodi:role="line">ffb20e1701ea</tspan></text>
 260.381 +    </g>
 260.382 +    <path
 260.383 +       inkscape:connector-type="polyline"
 260.384 +       id="path1933"
 260.385 +       d="M 260.89978,311.15532 L 225.84185,327.53627"
 260.386 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 260.387 +       inkscape:connection-end="#g6976" />
 260.388 +    <text
 260.389 +       xml:space="preserve"
 260.390 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.391 +       x="109.45568"
 260.392 +       y="231.4554"
 260.393 +       id="text2837"><tspan
 260.394 +         sodipodi:role="line"
 260.395 +         id="tspan2839"
 260.396 +         x="109.45568"
 260.397 +         y="231.4554">Pre-existing head</tspan></text>
 260.398 +    <text
 260.399 +       xml:space="preserve"
 260.400 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 260.401 +       x="237.54184"
 260.402 +       y="231.4554"
 260.403 +       id="text2841"><tspan
 260.404 +         sodipodi:role="line"
 260.405 +         id="tspan2843"
 260.406 +         x="237.54184"
 260.407 +         y="231.4554">Newly created head (and tip)</tspan></text>
 260.408 +    <path
 260.409 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 260.410 +       d="M 148.05048,235.87482 L 149.94915,265.86962"
 260.411 +       id="path2850"
 260.412 +       inkscape:connector-type="polyline"
 260.413 +       inkscape:connection-end="#g1935" />
 260.414 +    <path
 260.415 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 260.416 +       d="M 303.83495,238.08453 L 306.87874,265.86962"
 260.417 +       id="path2852"
 260.418 +       inkscape:connector-type="polyline"
 260.419 +       inkscape:connection-end="#g2845" />
 260.420 +  </g>
 260.421 +</svg>
   261.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   261.2 +++ b/en/figs/wdir-merge.svg	Mon Mar 30 16:23:33 2009 +0800
   261.3 @@ -0,0 +1,425 @@
   261.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   261.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   261.6 +<svg
   261.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   261.8 +   xmlns:cc="http://web.resource.org/cc/"
   261.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  261.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  261.11 +   xmlns="http://www.w3.org/2000/svg"
  261.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  261.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  261.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  261.15 +   width="744.09448819"
  261.16 +   height="1052.3622047"
  261.17 +   id="svg5971"
  261.18 +   sodipodi:version="0.32"
  261.19 +   inkscape:version="0.44.1"
  261.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  261.21 +   sodipodi:docname="wdir-merge.svg">
  261.22 +  <defs
  261.23 +     id="defs5973">
  261.24 +    <marker
  261.25 +       inkscape:stockid="Arrow1Mstart"
  261.26 +       orient="auto"
  261.27 +       refY="0.0"
  261.28 +       refX="0.0"
  261.29 +       id="Arrow1Mstart"
  261.30 +       style="overflow:visible">
  261.31 +      <path
  261.32 +         id="path4855"
  261.33 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  261.34 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  261.35 +         transform="scale(0.4) translate(10,0)" />
  261.36 +    </marker>
  261.37 +    <linearGradient
  261.38 +       id="linearGradient6049">
  261.39 +      <stop
  261.40 +         style="stop-color:#686868;stop-opacity:1;"
  261.41 +         offset="0"
  261.42 +         id="stop6051" />
  261.43 +      <stop
  261.44 +         style="stop-color:#f0f0f0;stop-opacity:1;"
  261.45 +         offset="1"
  261.46 +         id="stop6053" />
  261.47 +    </linearGradient>
  261.48 +    <marker
  261.49 +       inkscape:stockid="Arrow1Mend"
  261.50 +       orient="auto"
  261.51 +       refY="0.0"
  261.52 +       refX="0.0"
  261.53 +       id="Arrow1Mend"
  261.54 +       style="overflow:visible;">
  261.55 +      <path
  261.56 +         id="path4852"
  261.57 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  261.58 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  261.59 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  261.60 +    </marker>
  261.61 +    <linearGradient
  261.62 +       inkscape:collect="always"
  261.63 +       xlink:href="#linearGradient6049"
  261.64 +       id="linearGradient6083"
  261.65 +       gradientUnits="userSpaceOnUse"
  261.66 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  261.67 +       x1="333.91171"
  261.68 +       y1="488.79077"
  261.69 +       x2="508.94543"
  261.70 +       y2="263.79077" />
  261.71 +    <linearGradient
  261.72 +       inkscape:collect="always"
  261.73 +       xlink:href="#linearGradient6049"
  261.74 +       id="linearGradient6142"
  261.75 +       gradientUnits="userSpaceOnUse"
  261.76 +       gradientTransform="translate(-42.00893,-30.49544)"
  261.77 +       x1="333.91171"
  261.78 +       y1="488.79077"
  261.79 +       x2="508.94543"
  261.80 +       y2="263.79077" />
  261.81 +    <linearGradient
  261.82 +       inkscape:collect="always"
  261.83 +       xlink:href="#linearGradient6049"
  261.84 +       id="linearGradient6193"
  261.85 +       gradientUnits="userSpaceOnUse"
  261.86 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  261.87 +       x1="333.91171"
  261.88 +       y1="488.79077"
  261.89 +       x2="508.94543"
  261.90 +       y2="263.79077" />
  261.91 +    <linearGradient
  261.92 +       inkscape:collect="always"
  261.93 +       xlink:href="#linearGradient6049"
  261.94 +       id="linearGradient6216"
  261.95 +       gradientUnits="userSpaceOnUse"
  261.96 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  261.97 +       x1="333.91171"
  261.98 +       y1="488.79077"
  261.99 +       x2="508.94543"
 261.100 +       y2="263.79077" />
 261.101 +    <linearGradient
 261.102 +       inkscape:collect="always"
 261.103 +       xlink:href="#linearGradient6049"
 261.104 +       id="linearGradient6232"
 261.105 +       gradientUnits="userSpaceOnUse"
 261.106 +       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 261.107 +       x1="333.91171"
 261.108 +       y1="488.79077"
 261.109 +       x2="508.94543"
 261.110 +       y2="263.79077" />
 261.111 +    <linearGradient
 261.112 +       inkscape:collect="always"
 261.113 +       xlink:href="#linearGradient6049"
 261.114 +       id="linearGradient6445"
 261.115 +       gradientUnits="userSpaceOnUse"
 261.116 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 261.117 +       x1="333.91171"
 261.118 +       y1="488.79077"
 261.119 +       x2="508.94543"
 261.120 +       y2="263.79077" />
 261.121 +    <linearGradient
 261.122 +       inkscape:collect="always"
 261.123 +       xlink:href="#linearGradient6049"
 261.124 +       id="linearGradient6974"
 261.125 +       gradientUnits="userSpaceOnUse"
 261.126 +       gradientTransform="matrix(1.911882,0,0,0.789965,-574.7896,51.22599)"
 261.127 +       x1="333.91171"
 261.128 +       y1="488.79077"
 261.129 +       x2="508.94543"
 261.130 +       y2="263.79077" />
 261.131 +    <linearGradient
 261.132 +       inkscape:collect="always"
 261.133 +       xlink:href="#linearGradient6049"
 261.134 +       id="linearGradient6996"
 261.135 +       gradientUnits="userSpaceOnUse"
 261.136 +       gradientTransform="matrix(1.000473,0,0,0.790947,112.8399,50.85693)"
 261.137 +       x1="333.91171"
 261.138 +       y1="488.79077"
 261.139 +       x2="508.94543"
 261.140 +       y2="263.79077" />
 261.141 +  </defs>
 261.142 +  <sodipodi:namedview
 261.143 +     id="base"
 261.144 +     pagecolor="#ffffff"
 261.145 +     bordercolor="#666666"
 261.146 +     borderopacity="1.0"
 261.147 +     gridtolerance="10000"
 261.148 +     guidetolerance="10"
 261.149 +     objecttolerance="10"
 261.150 +     inkscape:pageopacity="0.0"
 261.151 +     inkscape:pageshadow="2"
 261.152 +     inkscape:zoom="1.28"
 261.153 +     inkscape:cx="345.85973"
 261.154 +     inkscape:cy="690.49342"
 261.155 +     inkscape:document-units="px"
 261.156 +     inkscape:current-layer="layer1"
 261.157 +     showguides="true"
 261.158 +     inkscape:guide-bbox="true"
 261.159 +     inkscape:window-width="906"
 261.160 +     inkscape:window-height="620"
 261.161 +     inkscape:window-x="0"
 261.162 +     inkscape:window-y="25">
 261.163 +    <sodipodi:guide
 261.164 +       orientation="vertical"
 261.165 +       position="-1.4285714"
 261.166 +       id="guide6022" />
 261.167 +  </sodipodi:namedview>
 261.168 +  <metadata
 261.169 +     id="metadata5976">
 261.170 +    <rdf:RDF>
 261.171 +      <cc:Work
 261.172 +         rdf:about="">
 261.173 +        <dc:format>image/svg+xml</dc:format>
 261.174 +        <dc:type
 261.175 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 261.176 +      </cc:Work>
 261.177 +    </rdf:RDF>
 261.178 +  </metadata>
 261.179 +  <g
 261.180 +     inkscape:label="Layer 1"
 261.181 +     inkscape:groupmode="layer"
 261.182 +     id="layer1">
 261.183 +    <rect
 261.184 +       y="246.06918"
 261.185 +       x="64.325172"
 261.186 +       height="204.26233"
 261.187 +       width="333.2135"
 261.188 +       id="rect6047"
 261.189 +       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.91925466;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 261.190 +    <g
 261.191 +       id="g6976"
 261.192 +       transform="translate(70,0)">
 261.193 +      <rect
 261.194 +         y="327.9104"
 261.195 +         x="40.113693"
 261.196 +         height="44.537449"
 261.197 +         width="134.53746"
 261.198 +         id="rect6004"
 261.199 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 261.200 +      <text
 261.201 +         id="text6006"
 261.202 +         y="353.67111"
 261.203 +         x="62.654205"
 261.204 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.205 +         xml:space="preserve"><tspan
 261.206 +           style="font-family:Courier"
 261.207 +           y="353.67111"
 261.208 +           x="62.654205"
 261.209 +           id="tspan6008"
 261.210 +           sodipodi:role="line">7b064d8bac5e</tspan></text>
 261.211 +    </g>
 261.212 +    <path
 261.213 +       inkscape:connector-type="polyline"
 261.214 +       id="path6020"
 261.215 +       d="M 160.92915,311.15532 L 167.83571,327.53627"
 261.216 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 261.217 +       inkscape:connection-end="#g6976"
 261.218 +       inkscape:connection-start="#g1935" />
 261.219 +    <rect
 261.220 +       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 261.221 +       id="rect6039"
 261.222 +       width="134.53746"
 261.223 +       height="44.537449"
 261.224 +       x="110.11359"
 261.225 +       y="389.57703" />
 261.226 +    <text
 261.227 +       xml:space="preserve"
 261.228 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.229 +       x="134.79706"
 261.230 +       y="415.33771"
 261.231 +       id="text6041"><tspan
 261.232 +         sodipodi:role="line"
 261.233 +         id="tspan6043"
 261.234 +         x="134.79706"
 261.235 +         y="415.33771"
 261.236 +         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 261.237 +    <path
 261.238 +       inkscape:connection-end="#rect6039"
 261.239 +       inkscape:connector-type="polyline"
 261.240 +       id="path6045"
 261.241 +       d="M 177.38238,372.82195 L 177.38235,389.20303"
 261.242 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 261.243 +    <rect
 261.244 +       y="245.94225"
 261.245 +       x="447.28412"
 261.246 +       height="204.51619"
 261.247 +       width="174.36833"
 261.248 +       id="rect6140"
 261.249 +       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 261.250 +    <g
 261.251 +       id="g6130"
 261.252 +       transform="translate(152.3254,24.38544)">
 261.253 +      <rect
 261.254 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 261.255 +         id="rect6106"
 261.256 +         width="134.53746"
 261.257 +         height="44.537449"
 261.258 +         x="314.87415"
 261.259 +         y="257.95059" />
 261.260 +      <text
 261.261 +         xml:space="preserve"
 261.262 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.263 +         x="339.55664"
 261.264 +         y="283.7113"
 261.265 +         id="text6108"><tspan
 261.266 +           sodipodi:role="line"
 261.267 +           id="tspan6110"
 261.268 +           x="339.55664"
 261.269 +           y="283.7113"
 261.270 +           style="font-family:Courier">ffb20e1701ea</tspan></text>
 261.271 +    </g>
 261.272 +    <g
 261.273 +       id="g6135"
 261.274 +       transform="translate(153.0396,49.83106)">
 261.275 +      <rect
 261.276 +         inkscape:transform-center-y="102.85714"
 261.277 +         inkscape:transform-center-x="129.28571"
 261.278 +         style="fill:#d4d4d4;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 261.279 +         id="rect6112"
 261.280 +         width="134.53746"
 261.281 +         height="44.537449"
 261.282 +         x="314.15985"
 261.283 +         y="326.52203" />
 261.284 +      <text
 261.285 +         inkscape:transform-center-y="102.7311"
 261.286 +         inkscape:transform-center-x="128.69672"
 261.287 +         xml:space="preserve"
 261.288 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.289 +         x="338.84335"
 261.290 +         y="352.28271"
 261.291 +         id="text6114"><tspan
 261.292 +           sodipodi:role="line"
 261.293 +           id="tspan6116"
 261.294 +           x="338.84335"
 261.295 +           y="352.28271"
 261.296 +           style="fill:black;fill-opacity:1;font-family:Courier">e7639888bb2f</tspan></text>
 261.297 +    </g>
 261.298 +    <text
 261.299 +       xml:space="preserve"
 261.300 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.301 +       x="466.63208"
 261.302 +       y="270.479"
 261.303 +       id="text6118"><tspan
 261.304 +         sodipodi:role="line"
 261.305 +         id="tspan6120"
 261.306 +         x="466.63208"
 261.307 +         y="270.479">First parent (unchanged)</tspan></text>
 261.308 +    <text
 261.309 +       xml:space="preserve"
 261.310 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.311 +       x="466.07544"
 261.312 +       y="364.49615"
 261.313 +       id="text6122"><tspan
 261.314 +         sodipodi:role="line"
 261.315 +         id="tspan6124"
 261.316 +         x="466.07544"
 261.317 +         y="364.49615">Second parent</tspan></text>
 261.318 +    <text
 261.319 +       xml:space="preserve"
 261.320 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.321 +       x="446.61743"
 261.322 +       y="231.36218"
 261.323 +       id="text6195"><tspan
 261.324 +         sodipodi:role="line"
 261.325 +         id="tspan6197"
 261.326 +         x="446.61743"
 261.327 +         y="231.36218">Parents of working directory</tspan></text>
 261.328 +    <path
 261.329 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 261.330 +       d="M 466.82542,300.21999 L 377.00207,294.39744"
 261.331 +       id="path6266"
 261.332 +       inkscape:connector-type="polyline"
 261.333 +       inkscape:connection-start="#g6130"
 261.334 +       inkscape:connection-end="#rect1925" />
 261.335 +    <path
 261.336 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 261.337 +       d="M 665.12232,418.17579 L 665.12232,418.17579"
 261.338 +       id="path6270"
 261.339 +       inkscape:connector-type="polyline" />
 261.340 +    <g
 261.341 +       id="g2845">
 261.342 +      <rect
 261.343 +         y="266.24374"
 261.344 +         x="242.09048"
 261.345 +         height="44.537449"
 261.346 +         width="134.53746"
 261.347 +         id="rect1925"
 261.348 +         style="fill:#9f9f9f;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 261.349 +      <text
 261.350 +         id="text1927"
 261.351 +         y="292.00446"
 261.352 +         x="266.77298"
 261.353 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.354 +         xml:space="preserve"><tspan
 261.355 +           style="font-family:Courier"
 261.356 +           y="292.00446"
 261.357 +           x="266.77298"
 261.358 +           id="tspan1929"
 261.359 +           sodipodi:role="line">ffb20e1701ea</tspan></text>
 261.360 +    </g>
 261.361 +    <path
 261.362 +       inkscape:connector-type="polyline"
 261.363 +       id="path1933"
 261.364 +       d="M 260.89978,311.15532 L 225.84185,327.53627"
 261.365 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 261.366 +       inkscape:connection-end="#g6976" />
 261.367 +    <text
 261.368 +       xml:space="preserve"
 261.369 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.370 +       x="109.45568"
 261.371 +       y="231.4554"
 261.372 +       id="text2837"><tspan
 261.373 +         sodipodi:role="line"
 261.374 +         id="tspan2839"
 261.375 +         x="109.45568"
 261.376 +         y="231.4554">Pre-existing head</tspan></text>
 261.377 +    <text
 261.378 +       xml:space="preserve"
 261.379 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.380 +       x="237.54184"
 261.381 +       y="231.4554"
 261.382 +       id="text2841"><tspan
 261.383 +         sodipodi:role="line"
 261.384 +         id="tspan2843"
 261.385 +         x="237.54184"
 261.386 +         y="231.4554">Newly created head (and tip)</tspan></text>
 261.387 +    <path
 261.388 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 261.389 +       d="M 148.05048,235.87482 L 149.94915,265.86962"
 261.390 +       id="path2850"
 261.391 +       inkscape:connector-type="polyline"
 261.392 +       inkscape:connection-end="#g1935" />
 261.393 +    <path
 261.394 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 261.395 +       d="M 303.83495,238.08453 L 306.87874,265.86962"
 261.396 +       id="path2852"
 261.397 +       inkscape:connector-type="polyline"
 261.398 +       inkscape:connection-end="#g2845" />
 261.399 +    <path
 261.400 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 261.401 +       d="M 466.82545,379.17944 L 219.0253,307.95488"
 261.402 +       id="path3016"
 261.403 +       inkscape:connector-type="polyline"
 261.404 +       inkscape:connection-start="#g6135"
 261.405 +       inkscape:connection-end="#g1935" />
 261.406 +    <g
 261.407 +       id="g1935">
 261.408 +      <rect
 261.409 +         y="266.24374"
 261.410 +         x="84.113708"
 261.411 +         height="44.537449"
 261.412 +         width="134.53746"
 261.413 +         id="rect5996"
 261.414 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 261.415 +      <text
 261.416 +         id="text5998"
 261.417 +         y="292.00446"
 261.418 +         x="108.7962"
 261.419 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 261.420 +         xml:space="preserve"><tspan
 261.421 +           style="font-family:Courier"
 261.422 +           y="292.00446"
 261.423 +           x="108.7962"
 261.424 +           id="tspan6000"
 261.425 +           sodipodi:role="line">e7639888bb2f</tspan></text>
 261.426 +    </g>
 261.427 +  </g>
 261.428 +</svg>
   262.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   262.2 +++ b/en/figs/wdir-pre-branch.svg	Mon Mar 30 16:23:33 2009 +0800
   262.3 @@ -0,0 +1,364 @@
   262.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   262.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   262.6 +<svg
   262.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   262.8 +   xmlns:cc="http://web.resource.org/cc/"
   262.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  262.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  262.11 +   xmlns="http://www.w3.org/2000/svg"
  262.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  262.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  262.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  262.15 +   width="744.09448819"
  262.16 +   height="1052.3622047"
  262.17 +   id="svg5971"
  262.18 +   sodipodi:version="0.32"
  262.19 +   inkscape:version="0.44.1"
  262.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  262.21 +   sodipodi:docname="wdir-branch.svg">
  262.22 +  <defs
  262.23 +     id="defs5973">
  262.24 +    <marker
  262.25 +       inkscape:stockid="Arrow1Mstart"
  262.26 +       orient="auto"
  262.27 +       refY="0.0"
  262.28 +       refX="0.0"
  262.29 +       id="Arrow1Mstart"
  262.30 +       style="overflow:visible">
  262.31 +      <path
  262.32 +         id="path4855"
  262.33 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  262.34 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  262.35 +         transform="scale(0.4) translate(10,0)" />
  262.36 +    </marker>
  262.37 +    <linearGradient
  262.38 +       id="linearGradient6049">
  262.39 +      <stop
  262.40 +         style="stop-color:#686868;stop-opacity:1;"
  262.41 +         offset="0"
  262.42 +         id="stop6051" />
  262.43 +      <stop
  262.44 +         style="stop-color:#f0f0f0;stop-opacity:1;"
  262.45 +         offset="1"
  262.46 +         id="stop6053" />
  262.47 +    </linearGradient>
  262.48 +    <marker
  262.49 +       inkscape:stockid="Arrow1Mend"
  262.50 +       orient="auto"
  262.51 +       refY="0.0"
  262.52 +       refX="0.0"
  262.53 +       id="Arrow1Mend"
  262.54 +       style="overflow:visible;">
  262.55 +      <path
  262.56 +         id="path4852"
  262.57 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  262.58 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  262.59 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  262.60 +    </marker>
  262.61 +    <linearGradient
  262.62 +       inkscape:collect="always"
  262.63 +       xlink:href="#linearGradient6049"
  262.64 +       id="linearGradient6083"
  262.65 +       gradientUnits="userSpaceOnUse"
  262.66 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  262.67 +       x1="333.91171"
  262.68 +       y1="488.79077"
  262.69 +       x2="508.94543"
  262.70 +       y2="263.79077" />
  262.71 +    <linearGradient
  262.72 +       inkscape:collect="always"
  262.73 +       xlink:href="#linearGradient6049"
  262.74 +       id="linearGradient6142"
  262.75 +       gradientUnits="userSpaceOnUse"
  262.76 +       gradientTransform="translate(-42.00893,-30.49544)"
  262.77 +       x1="333.91171"
  262.78 +       y1="488.79077"
  262.79 +       x2="508.94543"
  262.80 +       y2="263.79077" />
  262.81 +    <linearGradient
  262.82 +       inkscape:collect="always"
  262.83 +       xlink:href="#linearGradient6049"
  262.84 +       id="linearGradient6193"
  262.85 +       gradientUnits="userSpaceOnUse"
  262.86 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  262.87 +       x1="333.91171"
  262.88 +       y1="488.79077"
  262.89 +       x2="508.94543"
  262.90 +       y2="263.79077" />
  262.91 +    <linearGradient
  262.92 +       inkscape:collect="always"
  262.93 +       xlink:href="#linearGradient6049"
  262.94 +       id="linearGradient6216"
  262.95 +       gradientUnits="userSpaceOnUse"
  262.96 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  262.97 +       x1="333.91171"
  262.98 +       y1="488.79077"
  262.99 +       x2="508.94543"
 262.100 +       y2="263.79077" />
 262.101 +    <linearGradient
 262.102 +       inkscape:collect="always"
 262.103 +       xlink:href="#linearGradient6049"
 262.104 +       id="linearGradient6232"
 262.105 +       gradientUnits="userSpaceOnUse"
 262.106 +       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 262.107 +       x1="333.91171"
 262.108 +       y1="488.79077"
 262.109 +       x2="508.94543"
 262.110 +       y2="263.79077" />
 262.111 +    <linearGradient
 262.112 +       inkscape:collect="always"
 262.113 +       xlink:href="#linearGradient6049"
 262.114 +       id="linearGradient6445"
 262.115 +       gradientUnits="userSpaceOnUse"
 262.116 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 262.117 +       x1="333.91171"
 262.118 +       y1="488.79077"
 262.119 +       x2="508.94543"
 262.120 +       y2="263.79077" />
 262.121 +    <linearGradient
 262.122 +       inkscape:collect="always"
 262.123 +       xlink:href="#linearGradient6049"
 262.124 +       id="linearGradient6974"
 262.125 +       gradientUnits="userSpaceOnUse"
 262.126 +       gradientTransform="matrix(1.000474,0,0,0.790947,-314.246,50.85694)"
 262.127 +       x1="333.91171"
 262.128 +       y1="488.79077"
 262.129 +       x2="508.94543"
 262.130 +       y2="263.79077" />
 262.131 +    <linearGradient
 262.132 +       inkscape:collect="always"
 262.133 +       xlink:href="#linearGradient6049"
 262.134 +       id="linearGradient6996"
 262.135 +       gradientUnits="userSpaceOnUse"
 262.136 +       gradientTransform="matrix(1.000473,0,0,0.790947,-85.16012,50.85693)"
 262.137 +       x1="333.91171"
 262.138 +       y1="488.79077"
 262.139 +       x2="508.94543"
 262.140 +       y2="263.79077" />
 262.141 +  </defs>
 262.142 +  <sodipodi:namedview
 262.143 +     id="base"
 262.144 +     pagecolor="#ffffff"
 262.145 +     bordercolor="#666666"
 262.146 +     borderopacity="1.0"
 262.147 +     gridtolerance="10000"
 262.148 +     guidetolerance="10"
 262.149 +     objecttolerance="10"
 262.150 +     inkscape:pageopacity="0.0"
 262.151 +     inkscape:pageshadow="2"
 262.152 +     inkscape:zoom="0.90509668"
 262.153 +     inkscape:cx="390.0539"
 262.154 +     inkscape:cy="690.49342"
 262.155 +     inkscape:document-units="px"
 262.156 +     inkscape:current-layer="layer1"
 262.157 +     showguides="true"
 262.158 +     inkscape:guide-bbox="true"
 262.159 +     inkscape:window-width="906"
 262.160 +     inkscape:window-height="620"
 262.161 +     inkscape:window-x="0"
 262.162 +     inkscape:window-y="25">
 262.163 +    <sodipodi:guide
 262.164 +       orientation="vertical"
 262.165 +       position="-1.4285714"
 262.166 +       id="guide6022" />
 262.167 +  </sodipodi:namedview>
 262.168 +  <metadata
 262.169 +     id="metadata5976">
 262.170 +    <rdf:RDF>
 262.171 +      <cc:Work
 262.172 +         rdf:about="">
 262.173 +        <dc:format>image/svg+xml</dc:format>
 262.174 +        <dc:type
 262.175 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 262.176 +      </cc:Work>
 262.177 +    </rdf:RDF>
 262.178 +  </metadata>
 262.179 +  <g
 262.180 +     inkscape:label="Layer 1"
 262.181 +     inkscape:groupmode="layer"
 262.182 +     id="layer1">
 262.183 +    <rect
 262.184 +       y="245.94225"
 262.185 +       x="20.198257"
 262.186 +       height="204.51619"
 262.187 +       width="174.36833"
 262.188 +       id="rect6047"
 262.189 +       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 262.190 +    <rect
 262.191 +       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 262.192 +       id="rect5996"
 262.193 +       width="134.53746"
 262.194 +       height="44.537449"
 262.195 +       x="40.113693"
 262.196 +       y="266.24374" />
 262.197 +    <text
 262.198 +       xml:space="preserve"
 262.199 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.200 +       x="64.796204"
 262.201 +       y="292.00446"
 262.202 +       id="text5998"><tspan
 262.203 +         sodipodi:role="line"
 262.204 +         id="tspan6000"
 262.205 +         x="64.796204"
 262.206 +         y="292.00446"
 262.207 +         style="font-family:Courier">e7639888bb2f</tspan></text>
 262.208 +    <g
 262.209 +       id="g6976">
 262.210 +      <rect
 262.211 +         y="327.9104"
 262.212 +         x="40.113693"
 262.213 +         height="44.537449"
 262.214 +         width="134.53746"
 262.215 +         id="rect6004"
 262.216 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 262.217 +      <text
 262.218 +         id="text6006"
 262.219 +         y="353.67111"
 262.220 +         x="62.654205"
 262.221 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.222 +         xml:space="preserve"><tspan
 262.223 +           style="font-family:Courier"
 262.224 +           y="353.67111"
 262.225 +           x="62.654205"
 262.226 +           id="tspan6008"
 262.227 +           sodipodi:role="line">7b064d8bac5e</tspan></text>
 262.228 +    </g>
 262.229 +    <path
 262.230 +       inkscape:connection-end="#rect6004"
 262.231 +       inkscape:connector-type="polyline"
 262.232 +       id="path6020"
 262.233 +       d="M 107.38242,311.15529 L 107.38242,327.53626"
 262.234 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 262.235 +    <rect
 262.236 +       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 262.237 +       id="rect6039"
 262.238 +       width="134.53746"
 262.239 +       height="44.537449"
 262.240 +       x="40.113571"
 262.241 +       y="389.57703" />
 262.242 +    <text
 262.243 +       xml:space="preserve"
 262.244 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.245 +       x="64.797073"
 262.246 +       y="415.33771"
 262.247 +       id="text6041"><tspan
 262.248 +         sodipodi:role="line"
 262.249 +         id="tspan6043"
 262.250 +         x="64.797073"
 262.251 +         y="415.33771"
 262.252 +         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 262.253 +    <path
 262.254 +       inkscape:connection-end="#rect6039"
 262.255 +       inkscape:connector-type="polyline"
 262.256 +       id="path6045"
 262.257 +       d="M 107.38238,372.82195 L 107.38235,389.20301"
 262.258 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 262.259 +    <text
 262.260 +       xml:space="preserve"
 262.261 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.262 +       x="19.660461"
 262.263 +       y="231.36218"
 262.264 +       id="text6102"><tspan
 262.265 +         sodipodi:role="line"
 262.266 +         id="tspan6104"
 262.267 +         x="19.660461"
 262.268 +         y="231.36218">History in repository</tspan></text>
 262.269 +    <rect
 262.270 +       y="245.94225"
 262.271 +       x="249.28412"
 262.272 +       height="204.51619"
 262.273 +       width="174.36833"
 262.274 +       id="rect6140"
 262.275 +       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 262.276 +    <g
 262.277 +       id="g6130"
 262.278 +       transform="translate(-45.67459,24.38544)">
 262.279 +      <rect
 262.280 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 262.281 +         id="rect6106"
 262.282 +         width="134.53746"
 262.283 +         height="44.537449"
 262.284 +         x="314.87415"
 262.285 +         y="257.95059" />
 262.286 +      <text
 262.287 +         xml:space="preserve"
 262.288 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.289 +         x="339.55664"
 262.290 +         y="283.7113"
 262.291 +         id="text6108"><tspan
 262.292 +           sodipodi:role="line"
 262.293 +           id="tspan6110"
 262.294 +           x="339.55664"
 262.295 +           y="283.7113"
 262.296 +           style="font-family:Courier">7b064d8bac5e</tspan></text>
 262.297 +    </g>
 262.298 +    <g
 262.299 +       id="g6135"
 262.300 +       transform="translate(-44.96042,49.83106)">
 262.301 +      <rect
 262.302 +         inkscape:transform-center-y="102.85714"
 262.303 +         inkscape:transform-center-x="129.28571"
 262.304 +         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 262.305 +         id="rect6112"
 262.306 +         width="134.53746"
 262.307 +         height="44.537449"
 262.308 +         x="314.15985"
 262.309 +         y="326.52203" />
 262.310 +      <text
 262.311 +         inkscape:transform-center-y="102.7311"
 262.312 +         inkscape:transform-center-x="128.69672"
 262.313 +         xml:space="preserve"
 262.314 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.315 +         x="338.84335"
 262.316 +         y="352.28271"
 262.317 +         id="text6114"><tspan
 262.318 +           sodipodi:role="line"
 262.319 +           id="tspan6116"
 262.320 +           x="338.84335"
 262.321 +           y="352.28271"
 262.322 +           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 262.323 +    </g>
 262.324 +    <text
 262.325 +       xml:space="preserve"
 262.326 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.327 +       x="268.63208"
 262.328 +       y="270.479"
 262.329 +       id="text6118"><tspan
 262.330 +         sodipodi:role="line"
 262.331 +         id="tspan6120"
 262.332 +         x="268.63208"
 262.333 +         y="270.479">First parent</tspan></text>
 262.334 +    <text
 262.335 +       xml:space="preserve"
 262.336 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.337 +       x="268.07544"
 262.338 +       y="364.49615"
 262.339 +       id="text6122"><tspan
 262.340 +         sodipodi:role="line"
 262.341 +         id="tspan6124"
 262.342 +         x="268.07544"
 262.343 +         y="364.49615">Second parent</tspan></text>
 262.344 +    <text
 262.345 +       xml:space="preserve"
 262.346 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 262.347 +       x="248.61746"
 262.348 +       y="231.36218"
 262.349 +       id="text6195"><tspan
 262.350 +         sodipodi:role="line"
 262.351 +         id="tspan6197"
 262.352 +         x="248.61746"
 262.353 +         y="231.36218">Parents of working directory</tspan></text>
 262.354 +    <path
 262.355 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 262.356 +       d="M 268.82543,318.06163 L 175.02528,336.72225"
 262.357 +       id="path6266"
 262.358 +       inkscape:connector-type="polyline"
 262.359 +       inkscape:connection-end="#g6976"
 262.360 +       inkscape:connection-start="#g6130" />
 262.361 +    <path
 262.362 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 262.363 +       d="M 665.12232,418.17579 L 665.12232,418.17579"
 262.364 +       id="path6270"
 262.365 +       inkscape:connector-type="polyline" />
 262.366 +  </g>
 262.367 +</svg>
   263.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   263.2 +++ b/en/figs/wdir.svg	Mon Mar 30 16:23:33 2009 +0800
   263.3 @@ -0,0 +1,348 @@
   263.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   263.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   263.6 +<svg
   263.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   263.8 +   xmlns:cc="http://web.resource.org/cc/"
   263.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  263.10 +   xmlns:svg="http://www.w3.org/2000/svg"
  263.11 +   xmlns="http://www.w3.org/2000/svg"
  263.12 +   xmlns:xlink="http://www.w3.org/1999/xlink"
  263.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  263.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  263.15 +   width="744.09448819"
  263.16 +   height="1052.3622047"
  263.17 +   id="svg5971"
  263.18 +   sodipodi:version="0.32"
  263.19 +   inkscape:version="0.44.1"
  263.20 +   sodipodi:docbase="/home/bos/hg/hgbook/en"
  263.21 +   sodipodi:docname="wdir.svg">
  263.22 +  <defs
  263.23 +     id="defs5973">
  263.24 +    <marker
  263.25 +       inkscape:stockid="Arrow1Mstart"
  263.26 +       orient="auto"
  263.27 +       refY="0.0"
  263.28 +       refX="0.0"
  263.29 +       id="Arrow1Mstart"
  263.30 +       style="overflow:visible">
  263.31 +      <path
  263.32 +         id="path4855"
  263.33 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  263.34 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  263.35 +         transform="scale(0.4) translate(10,0)" />
  263.36 +    </marker>
  263.37 +    <linearGradient
  263.38 +       id="linearGradient6049">
  263.39 +      <stop
  263.40 +         style="stop-color:#686868;stop-opacity:1;"
  263.41 +         offset="0"
  263.42 +         id="stop6051" />
  263.43 +      <stop
  263.44 +         style="stop-color:#f0f0f0;stop-opacity:1;"
  263.45 +         offset="1"
  263.46 +         id="stop6053" />
  263.47 +    </linearGradient>
  263.48 +    <marker
  263.49 +       inkscape:stockid="Arrow1Mend"
  263.50 +       orient="auto"
  263.51 +       refY="0.0"
  263.52 +       refX="0.0"
  263.53 +       id="Arrow1Mend"
  263.54 +       style="overflow:visible;">
  263.55 +      <path
  263.56 +         id="path4852"
  263.57 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  263.58 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  263.59 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  263.60 +    </marker>
  263.61 +    <linearGradient
  263.62 +       inkscape:collect="always"
  263.63 +       xlink:href="#linearGradient6049"
  263.64 +       id="linearGradient6083"
  263.65 +       gradientUnits="userSpaceOnUse"
  263.66 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  263.67 +       x1="333.91171"
  263.68 +       y1="488.79077"
  263.69 +       x2="508.94543"
  263.70 +       y2="263.79077" />
  263.71 +    <linearGradient
  263.72 +       inkscape:collect="always"
  263.73 +       xlink:href="#linearGradient6049"
  263.74 +       id="linearGradient6142"
  263.75 +       gradientUnits="userSpaceOnUse"
  263.76 +       gradientTransform="translate(-42.00893,-30.49544)"
  263.77 +       x1="333.91171"
  263.78 +       y1="488.79077"
  263.79 +       x2="508.94543"
  263.80 +       y2="263.79077" />
  263.81 +    <linearGradient
  263.82 +       inkscape:collect="always"
  263.83 +       xlink:href="#linearGradient6049"
  263.84 +       id="linearGradient6193"
  263.85 +       gradientUnits="userSpaceOnUse"
  263.86 +       gradientTransform="translate(-240.0462,-8.633237e-6)"
  263.87 +       x1="333.91171"
  263.88 +       y1="488.79077"
  263.89 +       x2="508.94543"
  263.90 +       y2="263.79077" />
  263.91 +    <linearGradient
  263.92 +       inkscape:collect="always"
  263.93 +       xlink:href="#linearGradient6049"
  263.94 +       id="linearGradient6216"
  263.95 +       gradientUnits="userSpaceOnUse"
  263.96 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  263.97 +       x1="333.91171"
  263.98 +       y1="488.79077"
  263.99 +       x2="508.94543"
 263.100 +       y2="263.79077" />
 263.101 +    <linearGradient
 263.102 +       inkscape:collect="always"
 263.103 +       xlink:href="#linearGradient6049"
 263.104 +       id="linearGradient6232"
 263.105 +       gradientUnits="userSpaceOnUse"
 263.106 +       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 263.107 +       x1="333.91171"
 263.108 +       y1="488.79077"
 263.109 +       x2="508.94543"
 263.110 +       y2="263.79077" />
 263.111 +    <linearGradient
 263.112 +       inkscape:collect="always"
 263.113 +       xlink:href="#linearGradient6049"
 263.114 +       id="linearGradient6445"
 263.115 +       gradientUnits="userSpaceOnUse"
 263.116 +       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 263.117 +       x1="333.91171"
 263.118 +       y1="488.79077"
 263.119 +       x2="508.94543"
 263.120 +       y2="263.79077" />
 263.121 +  </defs>
 263.122 +  <sodipodi:namedview
 263.123 +     id="base"
 263.124 +     pagecolor="#ffffff"
 263.125 +     bordercolor="#666666"
 263.126 +     borderopacity="1.0"
 263.127 +     gridtolerance="10000"
 263.128 +     guidetolerance="10"
 263.129 +     objecttolerance="10"
 263.130 +     inkscape:pageopacity="0.0"
 263.131 +     inkscape:pageshadow="2"
 263.132 +     inkscape:zoom="0.90509668"
 263.133 +     inkscape:cx="390.0539"
 263.134 +     inkscape:cy="690.49342"
 263.135 +     inkscape:document-units="px"
 263.136 +     inkscape:current-layer="layer1"
 263.137 +     showguides="true"
 263.138 +     inkscape:guide-bbox="true"
 263.139 +     inkscape:window-width="906"
 263.140 +     inkscape:window-height="620"
 263.141 +     inkscape:window-x="0"
 263.142 +     inkscape:window-y="25">
 263.143 +    <sodipodi:guide
 263.144 +       orientation="vertical"
 263.145 +       position="-1.4285714"
 263.146 +       id="guide6022" />
 263.147 +  </sodipodi:namedview>
 263.148 +  <metadata
 263.149 +     id="metadata5976">
 263.150 +    <rdf:RDF>
 263.151 +      <cc:Work
 263.152 +         rdf:about="">
 263.153 +        <dc:format>image/svg+xml</dc:format>
 263.154 +        <dc:type
 263.155 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 263.156 +      </cc:Work>
 263.157 +    </rdf:RDF>
 263.158 +  </metadata>
 263.159 +  <g
 263.160 +     inkscape:label="Layer 1"
 263.161 +     inkscape:groupmode="layer"
 263.162 +     id="layer1">
 263.163 +    <g
 263.164 +       id="g6431"
 263.165 +       transform="translate(0,-0.137863)">
 263.166 +      <rect
 263.167 +         style="fill:url(#linearGradient6445);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 263.168 +         id="rect6047"
 263.169 +         width="174.36833"
 263.170 +         height="204.51619"
 263.171 +         x="94.198257"
 263.172 +         y="246.08011" />
 263.173 +      <rect
 263.174 +         y="266.38159"
 263.175 +         x="114.11369"
 263.176 +         height="44.537449"
 263.177 +         width="134.53746"
 263.178 +         id="rect5996"
 263.179 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 263.180 +      <text
 263.181 +         id="text5998"
 263.182 +         y="292.1423"
 263.183 +         x="138.7962"
 263.184 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.185 +         xml:space="preserve"><tspan
 263.186 +           style="font-family:Courier"
 263.187 +           y="292.1423"
 263.188 +           x="138.7962"
 263.189 +           id="tspan6000"
 263.190 +           sodipodi:role="line">e7639888bb2f</tspan></text>
 263.191 +      <rect
 263.192 +         y="328.04825"
 263.193 +         x="114.11369"
 263.194 +         height="44.537449"
 263.195 +         width="134.53746"
 263.196 +         id="rect6004"
 263.197 +         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 263.198 +      <text
 263.199 +         id="text6006"
 263.200 +         y="353.80896"
 263.201 +         x="136.65421"
 263.202 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.203 +         xml:space="preserve"><tspan
 263.204 +           style="font-family:Courier"
 263.205 +           y="353.80896"
 263.206 +           x="136.65421"
 263.207 +           id="tspan6008"
 263.208 +           sodipodi:role="line">7b064d8bac5e</tspan></text>
 263.209 +      <path
 263.210 +         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 263.211 +         d="M 181.38242,311.29315 L 181.38242,327.67412"
 263.212 +         id="path6020"
 263.213 +         inkscape:connector-type="polyline"
 263.214 +         inkscape:connection-end="#rect6004" />
 263.215 +      <rect
 263.216 +         y="389.71487"
 263.217 +         x="114.11357"
 263.218 +         height="44.537449"
 263.219 +         width="134.53746"
 263.220 +         id="rect6039"
 263.221 +         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 263.222 +      <text
 263.223 +         id="text6041"
 263.224 +         y="415.47556"
 263.225 +         x="138.79707"
 263.226 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.227 +         xml:space="preserve"><tspan
 263.228 +           style="fill:#979797;fill-opacity:1;font-family:Courier"
 263.229 +           y="415.47556"
 263.230 +           x="138.79707"
 263.231 +           id="tspan6043"
 263.232 +           sodipodi:role="line">000000000000</tspan></text>
 263.233 +      <path
 263.234 +         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 263.235 +         d="M 181.38238,372.95981 L 181.38235,389.34087"
 263.236 +         id="path6045"
 263.237 +         inkscape:connector-type="polyline"
 263.238 +         inkscape:connection-end="#rect6039" />
 263.239 +    </g>
 263.240 +    <text
 263.241 +       xml:space="preserve"
 263.242 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.243 +       x="93.660484"
 263.244 +       y="231.36218"
 263.245 +       id="text6102"><tspan
 263.246 +         sodipodi:role="line"
 263.247 +         id="tspan6104"
 263.248 +         x="93.660484"
 263.249 +         y="231.36218">History in repository</tspan></text>
 263.250 +    <g
 263.251 +       id="g6416">
 263.252 +      <rect
 263.253 +         style="fill:url(#linearGradient6232);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 263.254 +         id="rect6140"
 263.255 +         width="174.36833"
 263.256 +         height="204.51619"
 263.257 +         x="323.28412"
 263.258 +         y="245.94225" />
 263.259 +      <g
 263.260 +         transform="translate(28.32541,24.38544)"
 263.261 +         id="g6130">
 263.262 +        <rect
 263.263 +           y="257.95059"
 263.264 +           x="314.87415"
 263.265 +           height="44.537449"
 263.266 +           width="134.53746"
 263.267 +           id="rect6106"
 263.268 +           style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 263.269 +        <text
 263.270 +           id="text6108"
 263.271 +           y="283.7113"
 263.272 +           x="339.55664"
 263.273 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.274 +           xml:space="preserve"><tspan
 263.275 +             style="font-family:Courier"
 263.276 +             y="283.7113"
 263.277 +             x="339.55664"
 263.278 +             id="tspan6110"
 263.279 +             sodipodi:role="line">e7639888bb2f</tspan></text>
 263.280 +      </g>
 263.281 +      <g
 263.282 +         transform="translate(29.03958,49.83106)"
 263.283 +         id="g6135">
 263.284 +        <rect
 263.285 +           y="326.52203"
 263.286 +           x="314.15985"
 263.287 +           height="44.537449"
 263.288 +           width="134.53746"
 263.289 +           id="rect6112"
 263.290 +           style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 263.291 +           inkscape:transform-center-x="129.28571"
 263.292 +           inkscape:transform-center-y="102.85714" />
 263.293 +        <text
 263.294 +           id="text6114"
 263.295 +           y="352.28271"
 263.296 +           x="338.84335"
 263.297 +           style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.298 +           xml:space="preserve"
 263.299 +           inkscape:transform-center-x="128.69672"
 263.300 +           inkscape:transform-center-y="102.7311"><tspan
 263.301 +             style="fill:#979797;fill-opacity:1;font-family:Courier"
 263.302 +             y="352.28271"
 263.303 +             x="338.84335"
 263.304 +             id="tspan6116"
 263.305 +             sodipodi:role="line">000000000000</tspan></text>
 263.306 +      </g>
 263.307 +      <text
 263.308 +         id="text6118"
 263.309 +         y="270.479"
 263.310 +         x="342.63208"
 263.311 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.312 +         xml:space="preserve"><tspan
 263.313 +           y="270.479"
 263.314 +           x="342.63208"
 263.315 +           id="tspan6120"
 263.316 +           sodipodi:role="line">First parent</tspan></text>
 263.317 +      <text
 263.318 +         id="text6122"
 263.319 +         y="364.49615"
 263.320 +         x="342.07544"
 263.321 +         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.322 +         xml:space="preserve"><tspan
 263.323 +           y="364.49615"
 263.324 +           x="342.07544"
 263.325 +           id="tspan6124"
 263.326 +           sodipodi:role="line">Second parent</tspan></text>
 263.327 +    </g>
 263.328 +    <text
 263.329 +       xml:space="preserve"
 263.330 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 263.331 +       x="322.61746"
 263.332 +       y="231.36218"
 263.333 +       id="text6195"><tspan
 263.334 +         sodipodi:role="line"
 263.335 +         id="tspan6197"
 263.336 +         x="322.61746"
 263.337 +         y="231.36218">Parents of working directory</tspan></text>
 263.338 +    <path
 263.339 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 263.340 +       d="M 342.82543,299.89384 L 249.02528,293.36123"
 263.341 +       id="path6266"
 263.342 +       inkscape:connector-type="polyline"
 263.343 +       inkscape:connection-start="#g6130"
 263.344 +       inkscape:connection-end="#rect5996" />
 263.345 +    <path
 263.346 +       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 263.347 +       d="M 665.12232,418.17579 L 665.12232,418.17579"
 263.348 +       id="path6270"
 263.349 +       inkscape:connector-type="polyline" />
 263.350 +  </g>
 263.351 +</svg>
   264.1 --- a/en/images/feature-branches.dot	Fri Mar 20 17:17:55 2009 +0800
   264.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   264.3 @@ -1,8 +0,0 @@
   264.4 -digraph feature_branches {
   264.5 -	master -> crypto;
   264.6 -	master -> filesystems;
   264.7 -	master -> ipc;
   264.8 -	master -> memory;
   264.9 -	master -> network;
  264.10 -	master -> security;
  264.11 -}
   265.1 --- a/en/images/filelog.svg	Fri Mar 20 17:17:55 2009 +0800
   265.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   265.3 @@ -1,373 +0,0 @@
   265.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   265.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   265.6 -<svg
   265.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   265.8 -   xmlns:cc="http://web.resource.org/cc/"
   265.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  265.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  265.11 -   xmlns="http://www.w3.org/2000/svg"
  265.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  265.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  265.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  265.15 -   width="744.09448819"
  265.16 -   height="1052.3622047"
  265.17 -   id="svg2"
  265.18 -   sodipodi:version="0.32"
  265.19 -   inkscape:version="0.45.1"
  265.20 -   sodipodi:docname="filelog.svg"
  265.21 -   sodipodi:docbase="/home/arun/hgbook/en"
  265.22 -   inkscape:output_extension="org.inkscape.output.svg.inkscape">
  265.23 -  <defs
  265.24 -     id="defs4">
  265.25 -    <marker
  265.26 -       inkscape:stockid="Arrow1Mend"
  265.27 -       orient="auto"
  265.28 -       refY="0.0"
  265.29 -       refX="0.0"
  265.30 -       id="Arrow1Mend"
  265.31 -       style="overflow:visible;">
  265.32 -      <path
  265.33 -         id="path3128"
  265.34 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  265.35 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  265.36 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  265.37 -    </marker>
  265.38 -    <linearGradient
  265.39 -       id="linearGradient2887">
  265.40 -      <stop
  265.41 -         style="stop-color:#91cfcf;stop-opacity:1;"
  265.42 -         offset="0"
  265.43 -         id="stop2889" />
  265.44 -      <stop
  265.45 -         style="stop-color:aqua;stop-opacity:0;"
  265.46 -         offset="1"
  265.47 -         id="stop2891" />
  265.48 -    </linearGradient>
  265.49 -    <linearGradient
  265.50 -       id="linearGradient2795">
  265.51 -      <stop
  265.52 -         style="stop-color:#ccc;stop-opacity:1;"
  265.53 -         offset="0"
  265.54 -         id="stop2797" />
  265.55 -      <stop
  265.56 -         style="stop-color:#ccc;stop-opacity:0;"
  265.57 -         offset="1"
  265.58 -         id="stop2799" />
  265.59 -    </linearGradient>
  265.60 -    <linearGradient
  265.61 -       inkscape:collect="always"
  265.62 -       xlink:href="#linearGradient2795"
  265.63 -       id="linearGradient3170"
  265.64 -       gradientUnits="userSpaceOnUse"
  265.65 -       gradientTransform="translate(121.2183,94.95434)"
  265.66 -       x1="81.322357"
  265.67 -       y1="404.34424"
  265.68 -       x2="201.52036"
  265.69 -       y2="373.03967" />
  265.70 -    <linearGradient
  265.71 -       inkscape:collect="always"
  265.72 -       xlink:href="#linearGradient2887"
  265.73 -       id="linearGradient3172"
  265.74 -       gradientUnits="userSpaceOnUse"
  265.75 -       gradientTransform="translate(0,12)"
  265.76 -       x1="62.634491"
  265.77 -       y1="503.3392"
  265.78 -       x2="248.49242"
  265.79 -       y2="462.94327" />
  265.80 -    <linearGradient
  265.81 -       inkscape:collect="always"
  265.82 -       xlink:href="#linearGradient2795"
  265.83 -       id="linearGradient3174"
  265.84 -       gradientUnits="userSpaceOnUse"
  265.85 -       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
  265.86 -       x1="81.322357"
  265.87 -       y1="404.34424"
  265.88 -       x2="201.52036"
  265.89 -       y2="373.03967" />
  265.90 -    <linearGradient
  265.91 -       inkscape:collect="always"
  265.92 -       xlink:href="#linearGradient2887"
  265.93 -       id="linearGradient3176"
  265.94 -       gradientUnits="userSpaceOnUse"
  265.95 -       gradientTransform="translate(0,12)"
  265.96 -       x1="62.634491"
  265.97 -       y1="503.3392"
  265.98 -       x2="248.49242"
  265.99 -       y2="462.94327" />
 265.100 -    <linearGradient
 265.101 -       inkscape:collect="always"
 265.102 -       xlink:href="#linearGradient2795"
 265.103 -       id="linearGradient3208"
 265.104 -       gradientUnits="userSpaceOnUse"
 265.105 -       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
 265.106 -       x1="81.322357"
 265.107 -       y1="404.34424"
 265.108 -       x2="201.52036"
 265.109 -       y2="373.03967" />
 265.110 -    <linearGradient
 265.111 -       inkscape:collect="always"
 265.112 -       xlink:href="#linearGradient2887"
 265.113 -       id="linearGradient3210"
 265.114 -       gradientUnits="userSpaceOnUse"
 265.115 -       gradientTransform="translate(0,12)"
 265.116 -       x1="62.634491"
 265.117 -       y1="503.3392"
 265.118 -       x2="248.49242"
 265.119 -       y2="462.94327" />
 265.120 -    <linearGradient
 265.121 -       inkscape:collect="always"
 265.122 -       xlink:href="#linearGradient2795"
 265.123 -       id="linearGradient3212"
 265.124 -       gradientUnits="userSpaceOnUse"
 265.125 -       gradientTransform="translate(121.2183,94.95434)"
 265.126 -       x1="81.322357"
 265.127 -       y1="404.34424"
 265.128 -       x2="201.52036"
 265.129 -       y2="373.03967" />
 265.130 -    <linearGradient
 265.131 -       inkscape:collect="always"
 265.132 -       xlink:href="#linearGradient2887"
 265.133 -       id="linearGradient3214"
 265.134 -       gradientUnits="userSpaceOnUse"
 265.135 -       gradientTransform="translate(0,12)"
 265.136 -       x1="62.634491"
 265.137 -       y1="503.3392"
 265.138 -       x2="248.49242"
 265.139 -       y2="462.94327" />
 265.140 -    <linearGradient
 265.141 -       inkscape:collect="always"
 265.142 -       xlink:href="#linearGradient2795"
 265.143 -       id="linearGradient3256"
 265.144 -       gradientUnits="userSpaceOnUse"
 265.145 -       gradientTransform="matrix(1.2343775,0,0,0.9981848,103.25588,95.681888)"
 265.146 -       x1="74.301666"
 265.147 -       y1="431.67441"
 265.148 -       x2="260.05884"
 265.149 -       y2="369.95322" />
 265.150 -    <linearGradient
 265.151 -       inkscape:collect="always"
 265.152 -       xlink:href="#linearGradient2887"
 265.153 -       id="linearGradient3258"
 265.154 -       gradientUnits="userSpaceOnUse"
 265.155 -       gradientTransform="matrix(1.228929,0,0,0.9972824,-62.037003,13.312997)"
 265.156 -       x1="62.634491"
 265.157 -       y1="503.3392"
 265.158 -       x2="248.49242"
 265.159 -       y2="462.94327" />
 265.160 -    <linearGradient
 265.161 -       inkscape:collect="always"
 265.162 -       xlink:href="#linearGradient2795"
 265.163 -       id="linearGradient3260"
 265.164 -       gradientUnits="userSpaceOnUse"
 265.165 -       gradientTransform="matrix(1.2300738,0,0,0.6517275,219.97511,153.61527)"
 265.166 -       x1="74.387527"
 265.167 -       y1="431.80576"
 265.168 -       x2="259.97339"
 265.169 -       y2="369.82224" />
 265.170 -    <linearGradient
 265.171 -       inkscape:collect="always"
 265.172 -       xlink:href="#linearGradient2887"
 265.173 -       id="linearGradient3262"
 265.174 -       gradientUnits="userSpaceOnUse"
 265.175 -       gradientTransform="matrix(1.2289272,0,0,0.9972824,-62.036756,13.312985)"
 265.176 -       x1="62.634491"
 265.177 -       y1="503.3392"
 265.178 -       x2="248.49242"
 265.179 -       y2="462.94327" />
 265.180 -  </defs>
 265.181 -  <sodipodi:namedview
 265.182 -     id="base"
 265.183 -     pagecolor="#ffffff"
 265.184 -     bordercolor="#666666"
 265.185 -     borderopacity="1.0"
 265.186 -     gridtolerance="10000"
 265.187 -     guidetolerance="10"
 265.188 -     objecttolerance="10"
 265.189 -     inkscape:pageopacity="0.0"
 265.190 -     inkscape:pageshadow="2"
 265.191 -     inkscape:zoom="1.4"
 265.192 -     inkscape:cx="455.8122"
 265.193 -     inkscape:cy="520"
 265.194 -     inkscape:document-units="px"
 265.195 -     inkscape:current-layer="layer1"
 265.196 -     inkscape:window-width="1680"
 265.197 -     inkscape:window-height="970"
 265.198 -     inkscape:window-x="0"
 265.199 -     inkscape:window-y="54" />
 265.200 -  <metadata
 265.201 -     id="metadata7">
 265.202 -    <rdf:RDF>
 265.203 -      <cc:Work
 265.204 -         rdf:about="">
 265.205 -        <dc:format>image/svg+xml</dc:format>
 265.206 -        <dc:type
 265.207 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 265.208 -      </cc:Work>
 265.209 -    </rdf:RDF>
 265.210 -  </metadata>
 265.211 -  <g
 265.212 -     inkscape:label="Layer 1"
 265.213 -     inkscape:groupmode="layer"
 265.214 -     id="layer1">
 265.215 -    <rect
 265.216 -       style="opacity:1;fill:#abadf8;fill-opacity:1;stroke:#595959;stroke-width:0.93760371;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 265.217 -       id="rect3180"
 265.218 -       width="273.81375"
 265.219 -       height="199.06245"
 265.220 -       x="369.1796"
 265.221 -       y="351.79019" />
 265.222 -    <rect
 265.223 -       style="opacity:1;fill:#a2f69c;fill-opacity:1;stroke:#595959;stroke-width:0.93760341;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 265.224 -       id="rect3178"
 265.225 -       width="273.81339"
 265.226 -       height="199.06233"
 265.227 -       x="72.699799"
 265.228 -       y="351.78983" />
 265.229 -    <g
 265.230 -       id="g3144"
 265.231 -       transform="translate(80.467048,0.71578)">
 265.232 -      <g
 265.233 -         id="g2940">
 265.234 -        <rect
 265.235 -           style="fill:url(#linearGradient3260);fill-opacity:1;stroke:#000000;stroke-width:0.89536202;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 265.236 -           id="rect2914"
 265.237 -           width="227.38896"
 265.238 -           height="39.500999"
 265.239 -           x="311.92496"
 265.240 -           y="395.08627" />
 265.241 -        <text
 265.242 -           xml:space="preserve"
 265.243 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.244 -           x="323.72824"
 265.245 -           y="416.7626"
 265.246 -           id="text2918"><tspan
 265.247 -             sodipodi:role="line"
 265.248 -             id="tspan2920"
 265.249 -             x="323.72824"
 265.250 -             y="416.7626"
 265.251 -             style="font-family:Courier">.hg/store/data/README.i</tspan></text>
 265.252 -      </g>
 265.253 -      <g
 265.254 -         transform="translate(3.79093e-5,-80.1853)"
 265.255 -         id="g2945">
 265.256 -        <g
 265.257 -           id="g2955">
 265.258 -          <rect
 265.259 -             y="475.4968"
 265.260 -             x="15.550935"
 265.261 -             height="39.500999"
 265.262 -             width="227.17694"
 265.263 -             id="rect2947"
 265.264 -             style="fill:url(#linearGradient3262);fill-opacity:1;stroke:#000000;stroke-width:1.10706258;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 265.265 -          <text
 265.266 -             id="text2949"
 265.267 -             y="498.35123"
 265.268 -             x="31.230644"
 265.269 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.270 -             xml:space="preserve"><tspan
 265.271 -               style="font-family:Courier"
 265.272 -               y="498.35123"
 265.273 -               x="31.230644"
 265.274 -               id="tspan2951"
 265.275 -               sodipodi:role="line">README</tspan></text>
 265.276 -        </g>
 265.277 -      </g>
 265.278 -      <path
 265.279 -         inkscape:connector-type="polyline"
 265.280 -         id="path2960"
 265.281 -         d="M 242.94685,414.91115 C 242.94685,414.91115 293.61127,415.26754 310.16269,415.38633"
 265.282 -         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.02046943px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 265.283 -         sodipodi:nodetypes="cz" />
 265.284 -    </g>
 265.285 -    <g
 265.286 -       id="g3156"
 265.287 -       transform="translate(80.467048,0.71578)">
 265.288 -      <g
 265.289 -         transform="translate(116,0)"
 265.290 -         id="g2831">
 265.291 -        <rect
 265.292 -           style="fill:url(#linearGradient3256);fill-opacity:1;stroke:#000000;stroke-width:1.11001658;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 265.293 -           id="rect1906"
 265.294 -           width="228.18446"
 265.295 -           height="60.499123"
 265.296 -           x="195.52719"
 265.297 -           y="465.51859" />
 265.298 -        <g
 265.299 -           id="g2803"
 265.300 -           transform="translate(-0.893671,1.833581)">
 265.301 -          <text
 265.302 -             id="text1884"
 265.303 -             y="483.92801"
 265.304 -             x="208.95944"
 265.305 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.306 -             xml:space="preserve"><tspan
 265.307 -               style="font-family:Courier"
 265.308 -               y="483.92801"
 265.309 -               x="208.95944"
 265.310 -               id="tspan1886"
 265.311 -               sodipodi:role="line">.hg/store/data/src/hello.c.d</tspan></text>
 265.312 -          <text
 265.313 -             id="text1888"
 265.314 -             y="507.79309"
 265.315 -             x="208.95944"
 265.316 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.317 -             xml:space="preserve"><tspan
 265.318 -               style="font-family:Courier"
 265.319 -               y="507.79309"
 265.320 -               x="208.95944"
 265.321 -               id="tspan1890"
 265.322 -               sodipodi:role="line">.hg/store/data/src/hello.c.i</tspan></text>
 265.323 -        </g>
 265.324 -      </g>
 265.325 -      <g
 265.326 -         id="g2907">
 265.327 -        <rect
 265.328 -           style="fill:url(#linearGradient3258);fill-opacity:1;stroke:#000000;stroke-width:1.10706329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 265.329 -           id="rect2843"
 265.330 -           width="227.17728"
 265.331 -           height="39.500999"
 265.332 -           x="15.550805"
 265.333 -           y="475.4968" />
 265.334 -        <text
 265.335 -           xml:space="preserve"
 265.336 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.337 -           x="31.230644"
 265.338 -           y="498.35123"
 265.339 -           id="text2847"><tspan
 265.340 -             sodipodi:role="line"
 265.341 -             id="tspan2849"
 265.342 -             x="31.230644"
 265.343 -             y="498.35123"
 265.344 -             style="font-family:Courier">src/hello.c</tspan></text>
 265.345 -      </g>
 265.346 -      <path
 265.347 -         inkscape:connection-end="#g2831"
 265.348 -         inkscape:connection-start="#g2907"
 265.349 -         inkscape:connector-type="polyline"
 265.350 -         id="path2962"
 265.351 -         d="M 242.4315,495.88043 C 242.4315,495.88043 292.8861,495.99942 310.04102,496.03909"
 265.352 -         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 265.353 -         sodipodi:nodetypes="cs" />
 265.354 -    </g>
 265.355 -    <text
 265.356 -       xml:space="preserve"
 265.357 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.358 -       x="98.496666"
 265.359 -       y="373.96353"
 265.360 -       id="text3216"><tspan
 265.361 -         sodipodi:role="line"
 265.362 -         id="tspan3218"
 265.363 -         x="98.496666"
 265.364 -         y="373.96353">Working directory</tspan></text>
 265.365 -    <text
 265.366 -       xml:space="preserve"
 265.367 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 265.368 -       x="391.39197"
 265.369 -       y="373.96353"
 265.370 -       id="text3228"><tspan
 265.371 -         sodipodi:role="line"
 265.372 -         id="tspan3230"
 265.373 -         x="391.39197"
 265.374 -         y="373.96353">Repository</tspan></text>
 265.375 -  </g>
 265.376 -</svg>
   266.1 Binary file en/images/kdiff3.png has changed
   267.1 --- a/en/images/metadata.svg	Fri Mar 20 17:17:55 2009 +0800
   267.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   267.3 @@ -1,328 +0,0 @@
   267.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   267.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   267.6 -<svg
   267.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   267.8 -   xmlns:cc="http://web.resource.org/cc/"
   267.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  267.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  267.11 -   xmlns="http://www.w3.org/2000/svg"
  267.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  267.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  267.14 -   width="744.09448819"
  267.15 -   height="1052.3622047"
  267.16 -   id="svg2"
  267.17 -   sodipodi:version="0.32"
  267.18 -   inkscape:version="0.44.1"
  267.19 -   sodipodi:docname="metadata.svg"
  267.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en">
  267.21 -  <defs
  267.22 -     id="defs4">
  267.23 -    <marker
  267.24 -       inkscape:stockid="Arrow1Mend"
  267.25 -       orient="auto"
  267.26 -       refY="0.0"
  267.27 -       refX="0.0"
  267.28 -       id="Arrow1Mend"
  267.29 -       style="overflow:visible;">
  267.30 -      <path
  267.31 -         id="path2944"
  267.32 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  267.33 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  267.34 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  267.35 -    </marker>
  267.36 -  </defs>
  267.37 -  <sodipodi:namedview
  267.38 -     id="base"
  267.39 -     pagecolor="#ffffff"
  267.40 -     bordercolor="#666666"
  267.41 -     borderopacity="1.0"
  267.42 -     gridtolerance="10000"
  267.43 -     guidetolerance="10"
  267.44 -     objecttolerance="10"
  267.45 -     inkscape:pageopacity="0.0"
  267.46 -     inkscape:pageshadow="2"
  267.47 -     inkscape:zoom="1.4"
  267.48 -     inkscape:cx="232.14286"
  267.49 -     inkscape:cy="490.68696"
  267.50 -     inkscape:document-units="px"
  267.51 -     inkscape:current-layer="layer1"
  267.52 -     inkscape:window-width="906"
  267.53 -     inkscape:window-height="620"
  267.54 -     inkscape:window-x="181"
  267.55 -     inkscape:window-y="58" />
  267.56 -  <metadata
  267.57 -     id="metadata7">
  267.58 -    <rdf:RDF>
  267.59 -      <cc:Work
  267.60 -         rdf:about="">
  267.61 -        <dc:format>image/svg+xml</dc:format>
  267.62 -        <dc:type
  267.63 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  267.64 -      </cc:Work>
  267.65 -    </rdf:RDF>
  267.66 -  </metadata>
  267.67 -  <g
  267.68 -     inkscape:label="Layer 1"
  267.69 -     inkscape:groupmode="layer"
  267.70 -     id="layer1">
  267.71 -    <path
  267.72 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  267.73 -       d="M 326.94646,467.18359 L 326.94646,510.98123"
  267.74 -       id="path1910"
  267.75 -       inkscape:connector-type="polyline"
  267.76 -       inkscape:connection-end="#rect2962"
  267.77 -       inkscape:connection-start="#rect2764" />
  267.78 -    <path
  267.79 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  267.80 -       d="M 326.94646,531.98123 L 326.94646,591.77887"
  267.81 -       id="path1912"
  267.82 -       inkscape:connector-type="polyline"
  267.83 -       inkscape:connection-start="#rect2962"
  267.84 -       inkscape:connection-end="#rect3000" />
  267.85 -    <path
  267.86 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1;display:inline"
  267.87 -       d="M 316.1622,531.98123 L 192.30212,652.57648"
  267.88 -       id="path1916"
  267.89 -       inkscape:connector-type="polyline"
  267.90 -       inkscape:connection-end="#rect3038"
  267.91 -       inkscape:connection-start="#rect2962" />
  267.92 -    <path
  267.93 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
  267.94 -       d="M 254.23217,467.18359 L 254.23216,510.98123"
  267.95 -       id="path3088"
  267.96 -       inkscape:connector-type="polyline"
  267.97 -       inkscape:connection-start="#rect1872"
  267.98 -       inkscape:connection-end="#rect2960" />
  267.99 -    <path
 267.100 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
 267.101 -       d="M 254.23215,531.98123 L 254.23215,591.77887"
 267.102 -       id="path3090"
 267.103 -       inkscape:connector-type="polyline"
 267.104 -       inkscape:connection-start="#rect2960"
 267.105 -       inkscape:connection-end="#rect2998" />
 267.106 -    <path
 267.107 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#484848;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4.5, 1.5;stroke-dashoffset:0;stroke-opacity:1"
 267.108 -       d="M 248.84002,531.98123 L 186.90999,652.57648"
 267.109 -       id="path3092"
 267.110 -       inkscape:connector-type="polyline"
 267.111 -       inkscape:connection-start="#rect2960"
 267.112 -       inkscape:connection-end="#rect3038" />
 267.113 -    <rect
 267.114 -       style="fill:#7b7df5;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.115 -       id="rect1872"
 267.116 -       width="51.42857"
 267.117 -       height="20"
 267.118 -       x="228.51788"
 267.119 -       y="446.68359" />
 267.120 -    <rect
 267.121 -       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.122 -       id="rect2764"
 267.123 -       width="51.42857"
 267.124 -       height="20"
 267.125 -       x="301.23218"
 267.126 -       y="446.68359" />
 267.127 -    <rect
 267.128 -       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.129 -       id="rect2766"
 267.130 -       width="51.42857"
 267.131 -       height="20"
 267.132 -       x="155.80359"
 267.133 -       y="446.68359" />
 267.134 -    <rect
 267.135 -       style="fill:#cacbfb;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.136 -       id="rect2768"
 267.137 -       width="51.42857"
 267.138 -       height="20"
 267.139 -       x="83.089294"
 267.140 -       y="446.68359" />
 267.141 -    <path
 267.142 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.143 -       d="M 135.01786,456.68359 L 155.30359,456.68359"
 267.144 -       id="path2770"
 267.145 -       inkscape:connector-type="polyline"
 267.146 -       inkscape:connection-start="#rect2768"
 267.147 -       inkscape:connection-end="#rect2766" />
 267.148 -    <path
 267.149 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.150 -       d="M 207.73216,456.68359 L 228.01788,456.68359"
 267.151 -       id="path2772"
 267.152 -       inkscape:connector-type="polyline"
 267.153 -       inkscape:connection-start="#rect2766"
 267.154 -       inkscape:connection-end="#rect1872" />
 267.155 -    <path
 267.156 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.157 -       d="M 280.44645,456.68359 L 300.73218,456.68359"
 267.158 -       id="path2774"
 267.159 -       inkscape:connector-type="polyline"
 267.160 -       inkscape:connection-start="#rect1872"
 267.161 -       inkscape:connection-end="#rect2764" />
 267.162 -    <path
 267.163 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 267.164 -       d="M 62.303571,456.68359 L 82.589294,456.68359"
 267.165 -       id="path2778"
 267.166 -       inkscape:connector-type="polyline"
 267.167 -       inkscape:connection-end="#rect2768" />
 267.168 -    <rect
 267.169 -       style="fill:#84f57b;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.170 -       id="rect2960"
 267.171 -       width="51.42857"
 267.172 -       height="20"
 267.173 -       x="228.51787"
 267.174 -       y="511.48123" />
 267.175 -    <rect
 267.176 -       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.177 -       id="rect2962"
 267.178 -       width="51.42857"
 267.179 -       height="20"
 267.180 -       x="301.23218"
 267.181 -       y="511.48123" />
 267.182 -    <rect
 267.183 -       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.184 -       id="rect2964"
 267.185 -       width="51.42857"
 267.186 -       height="20"
 267.187 -       x="155.80357"
 267.188 -       y="511.48123" />
 267.189 -    <rect
 267.190 -       style="fill:#cefbca;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.191 -       id="rect2966"
 267.192 -       width="51.42857"
 267.193 -       height="20"
 267.194 -       x="83.089287"
 267.195 -       y="511.48123" />
 267.196 -    <path
 267.197 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.198 -       d="M 135.01786,521.48121 L 155.30359,521.48121"
 267.199 -       id="path2968"
 267.200 -       inkscape:connector-type="polyline" />
 267.201 -    <path
 267.202 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.203 -       d="M 207.73216,521.48121 L 228.01788,521.48121"
 267.204 -       id="path2970"
 267.205 -       inkscape:connector-type="polyline" />
 267.206 -    <path
 267.207 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.208 -       d="M 280.44645,521.48121 L 300.73218,521.48121"
 267.209 -       id="path2972"
 267.210 -       inkscape:connector-type="polyline" />
 267.211 -    <path
 267.212 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 267.213 -       d="M 62.30358,521.48121 L 82.5893,521.48121"
 267.214 -       id="path2974"
 267.215 -       inkscape:connector-type="polyline" />
 267.216 -    <rect
 267.217 -       style="fill:#f57b8f;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.218 -       id="rect2998"
 267.219 -       width="51.42857"
 267.220 -       height="20"
 267.221 -       x="228.51787"
 267.222 -       y="592.27887" />
 267.223 -    <rect
 267.224 -       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.225 -       id="rect3000"
 267.226 -       width="51.42857"
 267.227 -       height="20"
 267.228 -       x="301.23218"
 267.229 -       y="592.27887" />
 267.230 -    <rect
 267.231 -       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.232 -       id="rect3002"
 267.233 -       width="51.42857"
 267.234 -       height="20"
 267.235 -       x="155.80357"
 267.236 -       y="592.27887" />
 267.237 -    <rect
 267.238 -       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.239 -       id="rect3004"
 267.240 -       width="51.42857"
 267.241 -       height="20"
 267.242 -       x="83.089287"
 267.243 -       y="592.27887" />
 267.244 -    <path
 267.245 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.246 -       d="M 135.01786,602.27884 L 155.30359,602.27884"
 267.247 -       id="path3006"
 267.248 -       inkscape:connector-type="polyline" />
 267.249 -    <path
 267.250 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.251 -       d="M 207.73216,602.27884 L 228.01788,602.27884"
 267.252 -       id="path3008"
 267.253 -       inkscape:connector-type="polyline" />
 267.254 -    <path
 267.255 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.256 -       d="M 280.44645,602.27884 L 300.73218,602.27884"
 267.257 -       id="path3010"
 267.258 -       inkscape:connector-type="polyline" />
 267.259 -    <path
 267.260 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 267.261 -       d="M 62.30358,602.27884 L 82.5893,602.27884"
 267.262 -       id="path3012"
 267.263 -       inkscape:connector-type="polyline" />
 267.264 -    <rect
 267.265 -       style="fill:#ffced6;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.266 -       id="rect3034"
 267.267 -       width="51.42857"
 267.268 -       height="20"
 267.269 -       x="228.51787"
 267.270 -       y="653.07648" />
 267.271 -    <rect
 267.272 -       style="fill:#f57b8f;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.273 -       id="rect3038"
 267.274 -       width="51.42857"
 267.275 -       height="20"
 267.276 -       x="155.80357"
 267.277 -       y="653.07648" />
 267.278 -    <rect
 267.279 -       style="fill:#fbcad2;fill-opacity:1;stroke:#595959;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 267.280 -       id="rect3040"
 267.281 -       width="51.42857"
 267.282 -       height="20"
 267.283 -       x="83.089287"
 267.284 -       y="653.07648" />
 267.285 -    <path
 267.286 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.287 -       d="M 135.01786,663.07646 L 155.30359,663.07646"
 267.288 -       id="path3042"
 267.289 -       inkscape:connector-type="polyline" />
 267.290 -    <path
 267.291 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 267.292 -       d="M 207.73216,663.07646 L 228.01788,663.07646"
 267.293 -       id="path3044"
 267.294 -       inkscape:connector-type="polyline" />
 267.295 -    <path
 267.296 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#747474;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
 267.297 -       d="M 62.30358,663.07646 L 82.5893,663.07646"
 267.298 -       id="path3048"
 267.299 -       inkscape:connector-type="polyline" />
 267.300 -    <text
 267.301 -       xml:space="preserve"
 267.302 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 267.303 -       x="82.072548"
 267.304 -       y="432.64789"
 267.305 -       id="text3094"><tspan
 267.306 -         sodipodi:role="line"
 267.307 -         id="tspan3096"
 267.308 -         x="82.072548"
 267.309 -         y="432.64789">Changelog</tspan></text>
 267.310 -    <text
 267.311 -       xml:space="preserve"
 267.312 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 267.313 -       x="82.306923"
 267.314 -       y="498.97327"
 267.315 -       id="text3098"><tspan
 267.316 -         sodipodi:role="line"
 267.317 -         id="tspan3100"
 267.318 -         x="82.306923"
 267.319 -         y="498.97327">Manifest</tspan></text>
 267.320 -    <text
 267.321 -       xml:space="preserve"
 267.322 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 267.323 -       x="82.14286"
 267.324 -       y="580.08569"
 267.325 -       id="text3102"><tspan
 267.326 -         sodipodi:role="line"
 267.327 -         id="tspan3104"
 267.328 -         x="82.14286"
 267.329 -         y="580.08569">Filelogs</tspan></text>
 267.330 -  </g>
 267.331 -</svg>
   268.1 --- a/en/images/mq-stack.svg	Fri Mar 20 17:17:55 2009 +0800
   268.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   268.3 @@ -1,270 +0,0 @@
   268.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   268.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   268.6 -<svg
   268.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   268.8 -   xmlns:cc="http://web.resource.org/cc/"
   268.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  268.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  268.11 -   xmlns="http://www.w3.org/2000/svg"
  268.12 -   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
  268.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  268.14 -   width="744.09448819"
  268.15 -   height="1052.3622047"
  268.16 -   id="svg2"
  268.17 -   sodipodi:version="0.32"
  268.18 -   inkscape:version="0.43"
  268.19 -   sodipodi:docname="mq-stack.svg"
  268.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en">
  268.21 -  <defs
  268.22 -     id="defs4" />
  268.23 -  <sodipodi:namedview
  268.24 -     id="base"
  268.25 -     pagecolor="#ffffff"
  268.26 -     bordercolor="#666666"
  268.27 -     borderopacity="1.0"
  268.28 -     inkscape:pageopacity="0.0"
  268.29 -     inkscape:pageshadow="2"
  268.30 -     inkscape:zoom="1.4142136"
  268.31 -     inkscape:cx="299.33323"
  268.32 -     inkscape:cy="815.646"
  268.33 -     inkscape:document-units="px"
  268.34 -     inkscape:current-layer="layer1"
  268.35 -     inkscape:window-width="1014"
  268.36 -     inkscape:window-height="689"
  268.37 -     inkscape:window-x="0"
  268.38 -     inkscape:window-y="25" />
  268.39 -  <metadata
  268.40 -     id="metadata7">
  268.41 -    <rdf:RDF>
  268.42 -      <cc:Work
  268.43 -         rdf:about="">
  268.44 -        <dc:format>image/svg+xml</dc:format>
  268.45 -        <dc:type
  268.46 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  268.47 -      </cc:Work>
  268.48 -    </rdf:RDF>
  268.49 -  </metadata>
  268.50 -  <g
  268.51 -     inkscape:label="Layer 1"
  268.52 -     inkscape:groupmode="layer"
  268.53 -     id="layer1">
  268.54 -    <rect
  268.55 -       style="fill:#0000ff;fill-opacity:0.75;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  268.56 -       id="rect1307"
  268.57 -       width="202.93683"
  268.58 -       height="24.243662"
  268.59 -       x="230.01944"
  268.60 -       y="221.70146" />
  268.61 -    <text
  268.62 -       xml:space="preserve"
  268.63 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  268.64 -       x="237.89606"
  268.65 -       y="237.13383"
  268.66 -       id="text1309"><tspan
  268.67 -         sodipodi:role="line"
  268.68 -         id="tspan1311"
  268.69 -         x="237.89606"
  268.70 -         y="237.13383">prevent-compiler-reorder.patch</tspan></text>
  268.71 -    <rect
  268.72 -       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  268.73 -       id="rect1320"
  268.74 -       width="202.93683"
  268.75 -       height="24.243662"
  268.76 -       x="230.01936"
  268.77 -       y="251.34325" />
  268.78 -    <text
  268.79 -       xml:space="preserve"
  268.80 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  268.81 -       x="237.89598"
  268.82 -       y="266.77563"
  268.83 -       id="text1322"><tspan
  268.84 -         sodipodi:role="line"
  268.85 -         id="tspan1324"
  268.86 -         x="237.89598"
  268.87 -         y="266.77563">namespace-cleanup.patch</tspan></text>
  268.88 -    <rect
  268.89 -       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  268.90 -       id="rect2217"
  268.91 -       width="202.93683"
  268.92 -       height="24.243662"
  268.93 -       x="230.01936"
  268.94 -       y="280.98505" />
  268.95 -    <text
  268.96 -       xml:space="preserve"
  268.97 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  268.98 -       x="237.89598"
  268.99 -       y="296.41742"
 268.100 -       id="text2219"><tspan
 268.101 -         sodipodi:role="line"
 268.102 -         id="tspan2221"
 268.103 -         x="237.89598"
 268.104 -         y="296.41742">powerpc-port-fixes.patch</tspan></text>
 268.105 -    <rect
 268.106 -       style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 268.107 -       id="rect3114"
 268.108 -       width="202.93683"
 268.109 -       height="24.243662"
 268.110 -       x="230.01936"
 268.111 -       y="310.6268" />
 268.112 -    <text
 268.113 -       xml:space="preserve"
 268.114 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.115 -       x="237.89598"
 268.116 -       y="326.05917"
 268.117 -       id="text3116"><tspan
 268.118 -         sodipodi:role="line"
 268.119 -         id="tspan3118"
 268.120 -         x="237.89598"
 268.121 -         y="326.05917">report-devinfo-correctly.patch</tspan></text>
 268.122 -    <text
 268.123 -       xml:space="preserve"
 268.124 -       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.125 -       x="200.01021"
 268.126 -       y="191.68094"
 268.127 -       id="text3170"
 268.128 -       sodipodi:linespacing="125%"><tspan
 268.129 -         sodipodi:role="line"
 268.130 -         id="tspan3172"
 268.131 -         x="200.01021"
 268.132 -         y="191.68094"
 268.133 -         style="font-size:48px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text>
 268.134 -    <text
 268.135 -       xml:space="preserve"
 268.136 -       style="font-size:15.25329685px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.137 -       x="255.26627"
 268.138 -       y="248.79449"
 268.139 -       id="text3190"
 268.140 -       sodipodi:linespacing="125%"
 268.141 -       transform="scale(0.786716,1.271107)"><tspan
 268.142 -         sodipodi:role="line"
 268.143 -         id="tspan3192"
 268.144 -         x="255.26627"
 268.145 -         y="248.79449"
 268.146 -         style="font-size:61.01318741px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text>
 268.147 -    <text
 268.148 -       xml:space="preserve"
 268.149 -       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.150 -       x="195.86807"
 268.151 -       y="173.17117"
 268.152 -       id="text4085"
 268.153 -       sodipodi:linespacing="125%"><tspan
 268.154 -         sodipodi:role="line"
 268.155 -         id="tspan4087"
 268.156 -         x="195.86807"
 268.157 -         y="173.17117"
 268.158 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">present in series,</tspan><tspan
 268.159 -         sodipodi:role="line"
 268.160 -         x="195.86807"
 268.161 -         y="188.17117"
 268.162 -         id="tspan4089"
 268.163 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">but not applied</tspan></text>
 268.164 -    <text
 268.165 -       xml:space="preserve"
 268.166 -       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.167 -       x="195.0712"
 268.168 -       y="288.91745"
 268.169 -       id="text4091"
 268.170 -       sodipodi:linespacing="125%"><tspan
 268.171 -         sodipodi:role="line"
 268.172 -         id="tspan4093"
 268.173 -         x="195.0712"
 268.174 -         y="288.91745"
 268.175 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">patches applied,</tspan><tspan
 268.176 -         sodipodi:role="line"
 268.177 -         x="195.0712"
 268.178 -         y="303.91745"
 268.179 -         id="tspan4111"
 268.180 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">changesets present</tspan></text>
 268.181 -    <text
 268.182 -       xml:space="preserve"
 268.183 -       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.184 -       x="195.0712"
 268.185 -       y="229.28813"
 268.186 -       id="text4095"
 268.187 -       sodipodi:linespacing="125%"><tspan
 268.188 -         sodipodi:role="line"
 268.189 -         id="tspan4097"
 268.190 -         x="195.0712"
 268.191 -         y="229.28813"
 268.192 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">topmost</tspan><tspan
 268.193 -         sodipodi:role="line"
 268.194 -         x="195.0712"
 268.195 -         y="244.28813"
 268.196 -         id="tspan4109"
 268.197 -         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">applied patch</tspan></text>
 268.198 -    <text
 268.199 -       xml:space="preserve"
 268.200 -       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#666666;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.201 -       x="450.4975"
 268.202 -       y="238.29692"
 268.203 -       id="text4137"><tspan
 268.204 -         sodipodi:role="line"
 268.205 -         id="tspan4139"
 268.206 -         x="450.4975"
 268.207 -         y="238.29692">201ad3209902</tspan></text>
 268.208 -    <text
 268.209 -       xml:space="preserve"
 268.210 -       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.211 -       x="450.05804"
 268.212 -       y="267.93872"
 268.213 -       id="text4141"><tspan
 268.214 -         sodipodi:role="line"
 268.215 -         id="tspan4143"
 268.216 -         x="450.05804"
 268.217 -         y="267.93872">126b84e593ae</tspan></text>
 268.218 -    <text
 268.219 -       xml:space="preserve"
 268.220 -       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.221 -       x="450.6557"
 268.222 -       y="297.58051"
 268.223 -       id="text4145"><tspan
 268.224 -         sodipodi:role="line"
 268.225 -         id="tspan4147"
 268.226 -         x="450.6557"
 268.227 -         y="297.58051">a655daf15409</tspan></text>
 268.228 -    <text
 268.229 -       xml:space="preserve"
 268.230 -       style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.231 -       x="450.71429"
 268.232 -       y="327.22226"
 268.233 -       id="text4149"><tspan
 268.234 -         sodipodi:role="line"
 268.235 -         id="tspan4151"
 268.236 -         x="450.71429"
 268.237 -         y="327.22226">e50d59aaea3a</tspan></text>
 268.238 -    <rect
 268.239 -       style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 268.240 -       id="rect3106"
 268.241 -       width="202.93683"
 268.242 -       height="24.243662"
 268.243 -       x="230.01936"
 268.244 -       y="150.41792" />
 268.245 -    <text
 268.246 -       xml:space="preserve"
 268.247 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.248 -       x="237.89598"
 268.249 -       y="165.8503"
 268.250 -       id="text3108"><tspan
 268.251 -         sodipodi:role="line"
 268.252 -         id="tspan3110"
 268.253 -         x="237.89598"
 268.254 -         y="165.8503">forbid-illegal-params.patch</tspan></text>
 268.255 -    <rect
 268.256 -       style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 268.257 -       id="rect2241"
 268.258 -       width="202.93683"
 268.259 -       height="24.243662"
 268.260 -       x="230.16466"
 268.261 -       y="180.05968" />
 268.262 -    <text
 268.263 -       xml:space="preserve"
 268.264 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
 268.265 -       x="238.04128"
 268.266 -       y="195.49205"
 268.267 -       id="text2243"><tspan
 268.268 -         sodipodi:role="line"
 268.269 -         id="tspan2245"
 268.270 -         x="238.04128"
 268.271 -         y="195.49205">fix-memory-leak.patch</tspan></text>
 268.272 -  </g>
 268.273 -</svg>
   269.1 Binary file en/images/note.png has changed
   270.1 --- a/en/images/revlog.svg	Fri Mar 20 17:17:55 2009 +0800
   270.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   270.3 @@ -1,1155 +0,0 @@
   270.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   270.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   270.6 -<svg
   270.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   270.8 -   xmlns:cc="http://web.resource.org/cc/"
   270.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  270.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  270.11 -   xmlns="http://www.w3.org/2000/svg"
  270.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  270.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  270.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  270.15 -   width="744.09448819"
  270.16 -   height="1052.3622047"
  270.17 -   id="svg2"
  270.18 -   sodipodi:version="0.32"
  270.19 -   inkscape:version="0.44.1"
  270.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  270.21 -   sodipodi:docname="revlog.svg">
  270.22 -  <defs
  270.23 -     id="defs4">
  270.24 -    <marker
  270.25 -       inkscape:stockid="Arrow1Mend"
  270.26 -       orient="auto"
  270.27 -       refY="0.0"
  270.28 -       refX="0.0"
  270.29 -       id="Arrow1Mend"
  270.30 -       style="overflow:visible;">
  270.31 -      <path
  270.32 -         id="path4852"
  270.33 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  270.34 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  270.35 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  270.36 -    </marker>
  270.37 -    <linearGradient
  270.38 -       id="linearGradient3092">
  270.39 -      <stop
  270.40 -         style="stop-color:#44436f;stop-opacity:1;"
  270.41 -         offset="0"
  270.42 -         id="stop3094" />
  270.43 -      <stop
  270.44 -         style="stop-color:#abade5;stop-opacity:1;"
  270.45 -         offset="1"
  270.46 -         id="stop3096" />
  270.47 -    </linearGradient>
  270.48 -    <linearGradient
  270.49 -       inkscape:collect="always"
  270.50 -       xlink:href="#linearGradient3092"
  270.51 -       id="linearGradient3118"
  270.52 -       gradientUnits="userSpaceOnUse"
  270.53 -       x1="176.16635"
  270.54 -       y1="405.21934"
  270.55 -       x2="417.11935"
  270.56 -       y2="405.21934" />
  270.57 -    <linearGradient
  270.58 -       inkscape:collect="always"
  270.59 -       xlink:href="#linearGradient3092"
  270.60 -       id="linearGradient3120"
  270.61 -       gradientUnits="userSpaceOnUse"
  270.62 -       x1="176.16635"
  270.63 -       y1="405.21934"
  270.64 -       x2="417.11935"
  270.65 -       y2="405.21934" />
  270.66 -    <linearGradient
  270.67 -       inkscape:collect="always"
  270.68 -       xlink:href="#linearGradient3092"
  270.69 -       id="linearGradient3129"
  270.70 -       gradientUnits="userSpaceOnUse"
  270.71 -       x1="176.16635"
  270.72 -       y1="405.21934"
  270.73 -       x2="417.11935"
  270.74 -       y2="405.21934"
  270.75 -       gradientTransform="translate(-0.928574,-1.428574)" />
  270.76 -    <linearGradient
  270.77 -       inkscape:collect="always"
  270.78 -       xlink:href="#linearGradient3092"
  270.79 -       id="linearGradient3133"
  270.80 -       gradientUnits="userSpaceOnUse"
  270.81 -       x1="176.16635"
  270.82 -       y1="405.21934"
  270.83 -       x2="417.11935"
  270.84 -       y2="405.21934"
  270.85 -       gradientTransform="translate(-0.928574,-1.428574)" />
  270.86 -    <linearGradient
  270.87 -       inkscape:collect="always"
  270.88 -       xlink:href="#linearGradient3092"
  270.89 -       id="linearGradient3708"
  270.90 -       gradientUnits="userSpaceOnUse"
  270.91 -       gradientTransform="matrix(0.423343,0,0,0.423343,138.874,-67.01732)"
  270.92 -       x1="175.23776"
  270.93 -       y1="509.98154"
  270.94 -       x2="416.29077"
  270.95 -       y2="297.49997" />
  270.96 -    <linearGradient
  270.97 -       inkscape:collect="always"
  270.98 -       xlink:href="#linearGradient3092"
  270.99 -       id="linearGradient5164"
 270.100 -       gradientUnits="userSpaceOnUse"
 270.101 -       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,247.4358)"
 270.102 -       x1="175.23776"
 270.103 -       y1="509.98154"
 270.104 -       x2="416.29077"
 270.105 -       y2="297.49997" />
 270.106 -    <linearGradient
 270.107 -       inkscape:collect="always"
 270.108 -       xlink:href="#linearGradient3092"
 270.109 -       id="linearGradient5584"
 270.110 -       gradientUnits="userSpaceOnUse"
 270.111 -       gradientTransform="matrix(0.423343,0,0,0.423343,143.9081,371.2915)"
 270.112 -       x1="175.23776"
 270.113 -       y1="509.98154"
 270.114 -       x2="416.29077"
 270.115 -       y2="297.49997" />
 270.116 -    <linearGradient
 270.117 -       inkscape:collect="always"
 270.118 -       xlink:href="#linearGradient3092"
 270.119 -       id="linearGradient5784"
 270.120 -       gradientUnits="userSpaceOnUse"
 270.121 -       gradientTransform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 270.122 -       x1="175.23776"
 270.123 -       y1="509.98154"
 270.124 -       x2="416.29077"
 270.125 -       y2="297.49997" />
 270.126 -    <linearGradient
 270.127 -       inkscape:collect="always"
 270.128 -       xlink:href="#linearGradient3092"
 270.129 -       id="linearGradient5786"
 270.130 -       gradientUnits="userSpaceOnUse"
 270.131 -       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,152.137)"
 270.132 -       x1="175.23776"
 270.133 -       y1="509.98154"
 270.134 -       x2="416.29077"
 270.135 -       y2="297.49997" />
 270.136 -    <linearGradient
 270.137 -       inkscape:collect="always"
 270.138 -       xlink:href="#linearGradient3092"
 270.139 -       id="linearGradient5895"
 270.140 -       gradientUnits="userSpaceOnUse"
 270.141 -       gradientTransform="matrix(0.423343,0,0,0.423343,198.0215,261.7142)"
 270.142 -       x1="175.23776"
 270.143 -       y1="509.98154"
 270.144 -       x2="416.29077"
 270.145 -       y2="297.49997" />
 270.146 -    <linearGradient
 270.147 -       inkscape:collect="always"
 270.148 -       xlink:href="#linearGradient3092"
 270.149 -       id="linearGradient5958"
 270.150 -       gradientUnits="userSpaceOnUse"
 270.151 -       gradientTransform="matrix(0.423343,0,0,0.423343,137.1978,42.55987)"
 270.152 -       x1="175.23776"
 270.153 -       y1="509.98154"
 270.154 -       x2="416.29077"
 270.155 -       y2="297.49997" />
 270.156 -  </defs>
 270.157 -  <sodipodi:namedview
 270.158 -     id="base"
 270.159 -     pagecolor="#ffffff"
 270.160 -     bordercolor="#666666"
 270.161 -     borderopacity="1.0"
 270.162 -     gridtolerance="10000"
 270.163 -     guidetolerance="10"
 270.164 -     objecttolerance="10"
 270.165 -     inkscape:pageopacity="0.0"
 270.166 -     inkscape:pageshadow="2"
 270.167 -     inkscape:zoom="0.64"
 270.168 -     inkscape:cx="566.02368"
 270.169 -     inkscape:cy="688.16826"
 270.170 -     inkscape:document-units="px"
 270.171 -     inkscape:current-layer="layer1"
 270.172 -     inkscape:window-width="906"
 270.173 -     inkscape:window-height="620"
 270.174 -     inkscape:window-x="29"
 270.175 -     inkscape:window-y="79"
 270.176 -     inkscape:connector-spacing="11" />
 270.177 -  <metadata
 270.178 -     id="metadata7">
 270.179 -    <rdf:RDF>
 270.180 -      <cc:Work
 270.181 -         rdf:about="">
 270.182 -        <dc:format>image/svg+xml</dc:format>
 270.183 -        <dc:type
 270.184 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 270.185 -      </cc:Work>
 270.186 -    </rdf:RDF>
 270.187 -  </metadata>
 270.188 -  <g
 270.189 -     inkscape:label="Layer 1"
 270.190 -     inkscape:groupmode="layer"
 270.191 -     id="layer1">
 270.192 -    <rect
 270.193 -       y="168.74846"
 270.194 -       x="211.58516"
 270.195 -       height="89.506805"
 270.196 -       width="101.60232"
 270.197 -       id="rect3068"
 270.198 -       style="fill:url(#linearGradient5958);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.199 -    <g
 270.200 -       id="g3215"
 270.201 -       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55985)">
 270.202 -      <rect
 270.203 -         y="447.71451"
 270.204 -         x="299.67859"
 270.205 -         height="48.571426"
 270.206 -         width="103.14286"
 270.207 -         id="rect2899"
 270.208 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.209 -      <text
 270.210 -         id="text2903"
 270.211 -         y="464.8139"
 270.212 -         x="308.89639"
 270.213 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.214 -         xml:space="preserve"><tspan
 270.215 -           y="464.8139"
 270.216 -           x="308.89639"
 270.217 -           sodipodi:role="line"
 270.218 -           id="tspan2905">Second parent</tspan></text>
 270.219 -      <text
 270.220 -         id="text2907"
 270.221 -         y="485.50256"
 270.222 -         x="308.20175"
 270.223 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.224 -         xml:space="preserve"><tspan
 270.225 -           style="font-family:Courier"
 270.226 -           y="485.50256"
 270.227 -           x="308.20175"
 270.228 -           id="tspan2909"
 270.229 -           sodipodi:role="line">32bf9a5f22c0</tspan></text>
 270.230 -    </g>
 270.231 -    <g
 270.232 -       id="g3250"
 270.233 -       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55986)">
 270.234 -      <rect
 270.235 -         y="311.28598"
 270.236 -         x="188.6071"
 270.237 -         height="48.571426"
 270.238 -         width="103.14286"
 270.239 -         id="rect2936"
 270.240 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.241 -      <text
 270.242 -         id="text2940"
 270.243 -         y="328.38538"
 270.244 -         x="197.82495"
 270.245 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.246 -         xml:space="preserve"><tspan
 270.247 -           y="328.38538"
 270.248 -           x="197.82495"
 270.249 -           sodipodi:role="line"
 270.250 -           id="tspan2942">Revision hash</tspan></text>
 270.251 -      <text
 270.252 -         id="text2944"
 270.253 -         y="349.07404"
 270.254 -         x="197.13031"
 270.255 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.256 -         xml:space="preserve"><tspan
 270.257 -           style="font-family:Courier"
 270.258 -           y="349.07404"
 270.259 -           x="197.13031"
 270.260 -           id="tspan2946"
 270.261 -           sodipodi:role="line">34b8b7a15ea1</tspan></text>
 270.262 -    </g>
 270.263 -    <g
 270.264 -       id="g3243"
 270.265 -       transform="matrix(0.423343,0,0,0.423343,137.6664,43.91853)">
 270.266 -      <rect
 270.267 -         y="363.07654"
 270.268 -         x="187.5"
 270.269 -         height="75"
 270.270 -         width="213.85715"
 270.271 -         id="rect2950"
 270.272 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.273 -      <text
 270.274 -         id="text2958"
 270.275 -         y="400.86459"
 270.276 -         x="196.02321"
 270.277 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.278 -         xml:space="preserve"><tspan
 270.279 -           style="fill:black;fill-opacity:1;font-family:Courier"
 270.280 -           y="400.86459"
 270.281 -           x="196.02321"
 270.282 -           id="tspan2960"
 270.283 -           sodipodi:role="line">...</tspan></text>
 270.284 -      <text
 270.285 -         id="text2954"
 270.286 -         y="380.17593"
 270.287 -         x="196.71785"
 270.288 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.289 -         xml:space="preserve"><tspan
 270.290 -           y="380.17593"
 270.291 -           x="196.71785"
 270.292 -           sodipodi:role="line"
 270.293 -           id="tspan2956"
 270.294 -           style="fill:black;fill-opacity:1">Revision data (delta or snapshot)</tspan></text>
 270.295 -    </g>
 270.296 -    <g
 270.297 -       id="g5529"
 270.298 -       transform="translate(-6.710312,-8.165836e-6)">
 270.299 -      <rect
 270.300 -         style="fill:url(#linearGradient5584);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.301 -         id="rect3509"
 270.302 -         width="101.60232"
 270.303 -         height="89.506805"
 270.304 -         x="218.29547"
 270.305 -         y="497.4801" />
 270.306 -      <g
 270.307 -         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
 270.308 -         id="g3513">
 270.309 -        <g
 270.310 -           id="g3515">
 270.311 -          <rect
 270.312 -             y="447.72418"
 270.313 -             x="188.6071"
 270.314 -             height="48.571426"
 270.315 -             width="103.14286"
 270.316 -             id="rect3517"
 270.317 -             style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.318 -          <text
 270.319 -             id="text3519"
 270.320 -             y="464.82358"
 270.321 -             x="197.82495"
 270.322 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.323 -             xml:space="preserve"><tspan
 270.324 -               y="464.82358"
 270.325 -               x="197.82495"
 270.326 -               sodipodi:role="line"
 270.327 -               id="tspan3521">First parent</tspan></text>
 270.328 -          <text
 270.329 -             id="text3523"
 270.330 -             y="485.51224"
 270.331 -             x="197.13031"
 270.332 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.333 -             xml:space="preserve"><tspan
 270.334 -               style="font-family:Courier"
 270.335 -               y="485.51224"
 270.336 -               x="197.13031"
 270.337 -               id="tspan3525"
 270.338 -               sodipodi:role="line">000000000000</tspan></text>
 270.339 -        </g>
 270.340 -        <g
 270.341 -           id="g3527">
 270.342 -          <rect
 270.343 -             y="447.71451"
 270.344 -             x="299.67859"
 270.345 -             height="48.571426"
 270.346 -             width="103.14286"
 270.347 -             id="rect3529"
 270.348 -             style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.349 -          <text
 270.350 -             id="text3531"
 270.351 -             y="464.8139"
 270.352 -             x="308.89639"
 270.353 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.354 -             xml:space="preserve"><tspan
 270.355 -               y="464.8139"
 270.356 -               x="308.89639"
 270.357 -               sodipodi:role="line"
 270.358 -               id="tspan3533">Second parent</tspan></text>
 270.359 -          <text
 270.360 -             id="text3535"
 270.361 -             y="485.50256"
 270.362 -             x="308.20175"
 270.363 -             style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.364 -             xml:space="preserve"><tspan
 270.365 -               style="font-family:Courier"
 270.366 -               y="485.50256"
 270.367 -               x="308.20175"
 270.368 -               id="tspan3537"
 270.369 -               sodipodi:role="line">000000000000</tspan></text>
 270.370 -        </g>
 270.371 -      </g>
 270.372 -      <g
 270.373 -         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
 270.374 -         id="g3539">
 270.375 -        <rect
 270.376 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.377 -           id="rect3541"
 270.378 -           width="103.14286"
 270.379 -           height="48.571426"
 270.380 -           x="188.6071"
 270.381 -           y="311.28598" />
 270.382 -        <text
 270.383 -           xml:space="preserve"
 270.384 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.385 -           x="197.82495"
 270.386 -           y="328.38538"
 270.387 -           id="text3543"><tspan
 270.388 -             id="tspan3545"
 270.389 -             sodipodi:role="line"
 270.390 -             x="197.82495"
 270.391 -             y="328.38538">Revision hash</tspan></text>
 270.392 -        <text
 270.393 -           xml:space="preserve"
 270.394 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.395 -           x="197.13031"
 270.396 -           y="349.07404"
 270.397 -           id="text3547"><tspan
 270.398 -             sodipodi:role="line"
 270.399 -             id="tspan3549"
 270.400 -             x="197.13031"
 270.401 -             y="349.07404"
 270.402 -             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
 270.403 -      </g>
 270.404 -      <g
 270.405 -         transform="matrix(0.423343,0,0,0.423343,144.3767,372.6502)"
 270.406 -         id="g3551">
 270.407 -        <rect
 270.408 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.409 -           id="rect3553"
 270.410 -           width="213.85715"
 270.411 -           height="75"
 270.412 -           x="187.5"
 270.413 -           y="363.07654" />
 270.414 -        <text
 270.415 -           xml:space="preserve"
 270.416 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.417 -           x="196.02321"
 270.418 -           y="400.86459"
 270.419 -           id="text3555"><tspan
 270.420 -             sodipodi:role="line"
 270.421 -             id="tspan3557"
 270.422 -             x="196.02321"
 270.423 -             y="400.86459"
 270.424 -             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 270.425 -        <text
 270.426 -           xml:space="preserve"
 270.427 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.428 -           x="196.71785"
 270.429 -           y="380.17593"
 270.430 -           id="text3559"><tspan
 270.431 -             style="fill:black;fill-opacity:1"
 270.432 -             id="tspan3561"
 270.433 -             sodipodi:role="line"
 270.434 -             x="196.71785"
 270.435 -             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 270.436 -      </g>
 270.437 -    </g>
 270.438 -    <g
 270.439 -       id="g4868"
 270.440 -       transform="translate(-1.676208,-2.342463e-5)">
 270.441 -      <rect
 270.442 -         style="fill:url(#linearGradient3708);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.443 -         id="rect3567"
 270.444 -         width="101.60232"
 270.445 -         height="89.506805"
 270.446 -         x="213.26137"
 270.447 -         y="59.171272" />
 270.448 -      <g
 270.449 -         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
 270.450 -         id="g3573">
 270.451 -        <rect
 270.452 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.453 -           id="rect3575"
 270.454 -           width="103.14286"
 270.455 -           height="48.571426"
 270.456 -           x="188.6071"
 270.457 -           y="447.72418" />
 270.458 -        <text
 270.459 -           xml:space="preserve"
 270.460 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.461 -           x="197.82495"
 270.462 -           y="464.82358"
 270.463 -           id="text3577"><tspan
 270.464 -             id="tspan3579"
 270.465 -             sodipodi:role="line"
 270.466 -             x="197.82495"
 270.467 -             y="464.82358">First parent</tspan></text>
 270.468 -        <text
 270.469 -           xml:space="preserve"
 270.470 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.471 -           x="197.13031"
 270.472 -           y="485.51224"
 270.473 -           id="text3581"><tspan
 270.474 -             sodipodi:role="line"
 270.475 -             id="tspan3583"
 270.476 -             x="197.13031"
 270.477 -             y="485.51224"
 270.478 -             style="font-family:Courier">34b8b7a15ea1</tspan></text>
 270.479 -      </g>
 270.480 -      <g
 270.481 -         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
 270.482 -         id="g3585">
 270.483 -        <rect
 270.484 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.485 -           id="rect3587"
 270.486 -           width="103.14286"
 270.487 -           height="48.571426"
 270.488 -           x="299.67859"
 270.489 -           y="447.71451" />
 270.490 -        <text
 270.491 -           xml:space="preserve"
 270.492 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.493 -           x="308.89639"
 270.494 -           y="464.8139"
 270.495 -           id="text3589"><tspan
 270.496 -             id="tspan3591"
 270.497 -             sodipodi:role="line"
 270.498 -             x="308.89639"
 270.499 -             y="464.8139">Second parent</tspan></text>
 270.500 -        <text
 270.501 -           xml:space="preserve"
 270.502 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.503 -           x="308.20175"
 270.504 -           y="485.50256"
 270.505 -           id="text3593"><tspan
 270.506 -             sodipodi:role="line"
 270.507 -             id="tspan3595"
 270.508 -             x="308.20175"
 270.509 -             y="485.50256"
 270.510 -             style="font-family:Courier">000000000000</tspan></text>
 270.511 -      </g>
 270.512 -      <g
 270.513 -         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01733)"
 270.514 -         id="g3597">
 270.515 -        <rect
 270.516 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.517 -           id="rect3599"
 270.518 -           width="103.14286"
 270.519 -           height="48.571426"
 270.520 -           x="188.6071"
 270.521 -           y="311.28598" />
 270.522 -        <text
 270.523 -           xml:space="preserve"
 270.524 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.525 -           x="197.82495"
 270.526 -           y="328.38538"
 270.527 -           id="text3601"><tspan
 270.528 -             id="tspan3603"
 270.529 -             sodipodi:role="line"
 270.530 -             x="197.82495"
 270.531 -             y="328.38538">Revision hash</tspan></text>
 270.532 -        <text
 270.533 -           xml:space="preserve"
 270.534 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.535 -           x="197.13031"
 270.536 -           y="349.07404"
 270.537 -           id="text3605"><tspan
 270.538 -             sodipodi:role="line"
 270.539 -             id="tspan3607"
 270.540 -             x="197.13031"
 270.541 -             y="349.07404"
 270.542 -             style="font-family:Courier">1b67dc96f27a</tspan></text>
 270.543 -      </g>
 270.544 -      <g
 270.545 -         transform="matrix(0.423343,0,0,0.423343,139.3426,-65.65866)"
 270.546 -         id="g3609">
 270.547 -        <rect
 270.548 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.549 -           id="rect3611"
 270.550 -           width="213.85715"
 270.551 -           height="75"
 270.552 -           x="187.5"
 270.553 -           y="363.07654" />
 270.554 -        <text
 270.555 -           xml:space="preserve"
 270.556 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.557 -           x="196.02321"
 270.558 -           y="400.86459"
 270.559 -           id="text3613"><tspan
 270.560 -             sodipodi:role="line"
 270.561 -             id="tspan3615"
 270.562 -             x="196.02321"
 270.563 -             y="400.86459"
 270.564 -             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 270.565 -        <text
 270.566 -           xml:space="preserve"
 270.567 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.568 -           x="196.71785"
 270.569 -           y="380.17593"
 270.570 -           id="text3617"><tspan
 270.571 -             style="fill:black;fill-opacity:1"
 270.572 -             id="tspan3619"
 270.573 -             sodipodi:role="line"
 270.574 -             x="196.71785"
 270.575 -             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 270.576 -      </g>
 270.577 -    </g>
 270.578 -    <path
 270.579 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Mend)"
 270.580 -       d="M 240.78255,143.08593 L 241.42595,171.75349"
 270.581 -       id="path3801"
 270.582 -       inkscape:connector-type="polyline"
 270.583 -       inkscape:connection-start="#g3573"
 270.584 -       inkscape:connection-end="#g3250" />
 270.585 -    <g
 270.586 -       id="g5677">
 270.587 -      <rect
 270.588 -         style="fill:url(#linearGradient5784);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.589 -         id="rect3393"
 270.590 -         width="101.60232"
 270.591 -         height="89.506805"
 270.592 -         x="150.76137"
 270.593 -         y="278.32565" />
 270.594 -      <g
 270.595 -         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 270.596 -         id="g3399">
 270.597 -        <rect
 270.598 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.599 -           id="rect3401"
 270.600 -           width="103.14286"
 270.601 -           height="48.571426"
 270.602 -           x="188.6071"
 270.603 -           y="447.72418" />
 270.604 -        <text
 270.605 -           xml:space="preserve"
 270.606 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.607 -           x="197.82495"
 270.608 -           y="464.82358"
 270.609 -           id="text3403"><tspan
 270.610 -             id="tspan3405"
 270.611 -             sodipodi:role="line"
 270.612 -             x="197.82495"
 270.613 -             y="464.82358">First parent</tspan></text>
 270.614 -        <text
 270.615 -           xml:space="preserve"
 270.616 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.617 -           x="197.13031"
 270.618 -           y="485.51224"
 270.619 -           id="text3407"><tspan
 270.620 -             sodipodi:role="line"
 270.621 -             id="tspan3409"
 270.622 -             x="197.13031"
 270.623 -             y="485.51224"
 270.624 -             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
 270.625 -      </g>
 270.626 -      <g
 270.627 -         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 270.628 -         id="g3411">
 270.629 -        <rect
 270.630 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.631 -           id="rect3413"
 270.632 -           width="103.14286"
 270.633 -           height="48.571426"
 270.634 -           x="299.67859"
 270.635 -           y="447.71451" />
 270.636 -        <text
 270.637 -           xml:space="preserve"
 270.638 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.639 -           x="308.89639"
 270.640 -           y="464.8139"
 270.641 -           id="text3415"><tspan
 270.642 -             id="tspan3417"
 270.643 -             sodipodi:role="line"
 270.644 -             x="308.89639"
 270.645 -             y="464.8139">Second parent</tspan></text>
 270.646 -        <text
 270.647 -           xml:space="preserve"
 270.648 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.649 -           x="308.20175"
 270.650 -           y="485.50256"
 270.651 -           id="text3419"><tspan
 270.652 -             sodipodi:role="line"
 270.653 -             id="tspan3421"
 270.654 -             x="308.20175"
 270.655 -             y="485.50256"
 270.656 -             style="font-family:Courier">000000000000</tspan></text>
 270.657 -      </g>
 270.658 -      <g
 270.659 -         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
 270.660 -         id="g3423">
 270.661 -        <rect
 270.662 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.663 -           id="rect3425"
 270.664 -           width="103.14286"
 270.665 -           height="48.571426"
 270.666 -           x="188.6071"
 270.667 -           y="311.28598" />
 270.668 -        <text
 270.669 -           xml:space="preserve"
 270.670 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.671 -           x="197.82495"
 270.672 -           y="328.38538"
 270.673 -           id="text3427"><tspan
 270.674 -             id="tspan3429"
 270.675 -             sodipodi:role="line"
 270.676 -             x="197.82495"
 270.677 -             y="328.38538">Revision hash</tspan></text>
 270.678 -        <text
 270.679 -           xml:space="preserve"
 270.680 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.681 -           x="197.13031"
 270.682 -           y="349.07404"
 270.683 -           id="text3431"><tspan
 270.684 -             sodipodi:role="line"
 270.685 -             id="tspan3433"
 270.686 -             x="197.13031"
 270.687 -             y="349.07404"
 270.688 -             style="font-family:Courier">5b80c922ebdd</tspan></text>
 270.689 -      </g>
 270.690 -      <g
 270.691 -         transform="matrix(0.423343,0,0,0.423343,76.84265,153.4957)"
 270.692 -         id="g3435">
 270.693 -        <rect
 270.694 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.695 -           id="rect3437"
 270.696 -           width="213.85715"
 270.697 -           height="75"
 270.698 -           x="187.5"
 270.699 -           y="363.07654" />
 270.700 -        <text
 270.701 -           xml:space="preserve"
 270.702 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.703 -           x="196.02321"
 270.704 -           y="400.86459"
 270.705 -           id="text3439"><tspan
 270.706 -             sodipodi:role="line"
 270.707 -             id="tspan3441"
 270.708 -             x="196.02321"
 270.709 -             y="400.86459"
 270.710 -             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 270.711 -        <text
 270.712 -           xml:space="preserve"
 270.713 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.714 -           x="196.71785"
 270.715 -           y="380.17593"
 270.716 -           id="text3443"><tspan
 270.717 -             style="fill:black;fill-opacity:1"
 270.718 -             id="tspan3445"
 270.719 -             sodipodi:role="line"
 270.720 -             x="196.71785"
 270.721 -             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 270.722 -      </g>
 270.723 -    </g>
 270.724 -    <g
 270.725 -       id="g5646"
 270.726 -       transform="translate(-0.227432,0)">
 270.727 -      <rect
 270.728 -         style="fill:url(#linearGradient5786);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.729 -         id="rect3451"
 270.730 -         width="101.60232"
 270.731 -         height="89.506805"
 270.732 -         x="272.63638"
 270.733 -         y="278.32565" />
 270.734 -      <g
 270.735 -         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 270.736 -         id="g3457">
 270.737 -        <rect
 270.738 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.739 -           id="rect3459"
 270.740 -           width="103.14286"
 270.741 -           height="48.571426"
 270.742 -           x="188.6071"
 270.743 -           y="447.72418" />
 270.744 -        <text
 270.745 -           xml:space="preserve"
 270.746 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.747 -           x="197.82495"
 270.748 -           y="464.82358"
 270.749 -           id="text3461"><tspan
 270.750 -             id="tspan3463"
 270.751 -             sodipodi:role="line"
 270.752 -             x="197.82495"
 270.753 -             y="464.82358">First parent</tspan></text>
 270.754 -        <text
 270.755 -           xml:space="preserve"
 270.756 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.757 -           x="197.13031"
 270.758 -           y="485.51224"
 270.759 -           id="text3465"><tspan
 270.760 -             sodipodi:role="line"
 270.761 -             id="tspan3467"
 270.762 -             x="197.13031"
 270.763 -             y="485.51224"
 270.764 -             style="font-family:Courier">ecacb6b4c9fd</tspan></text>
 270.765 -      </g>
 270.766 -      <g
 270.767 -         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 270.768 -         id="g3469">
 270.769 -        <rect
 270.770 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.771 -           id="rect3471"
 270.772 -           width="103.14286"
 270.773 -           height="48.571426"
 270.774 -           x="299.67859"
 270.775 -           y="447.71451" />
 270.776 -        <text
 270.777 -           xml:space="preserve"
 270.778 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.779 -           x="308.89639"
 270.780 -           y="464.8139"
 270.781 -           id="text3473"><tspan
 270.782 -             id="tspan3475"
 270.783 -             sodipodi:role="line"
 270.784 -             x="308.89639"
 270.785 -             y="464.8139">Second parent</tspan></text>
 270.786 -        <text
 270.787 -           xml:space="preserve"
 270.788 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.789 -           x="308.20175"
 270.790 -           y="485.50256"
 270.791 -           id="text3477"><tspan
 270.792 -             sodipodi:role="line"
 270.793 -             id="tspan3479"
 270.794 -             x="308.20175"
 270.795 -             y="485.50256"
 270.796 -             style="font-family:Courier">000000000000</tspan></text>
 270.797 -      </g>
 270.798 -      <g
 270.799 -         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
 270.800 -         id="g3481">
 270.801 -        <rect
 270.802 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.803 -           id="rect3483"
 270.804 -           width="103.14286"
 270.805 -           height="48.571426"
 270.806 -           x="188.6071"
 270.807 -           y="311.28598" />
 270.808 -        <text
 270.809 -           xml:space="preserve"
 270.810 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.811 -           x="197.82495"
 270.812 -           y="328.38538"
 270.813 -           id="text3485"><tspan
 270.814 -             id="tspan3487"
 270.815 -             sodipodi:role="line"
 270.816 -             x="197.82495"
 270.817 -             y="328.38538">Revision hash</tspan></text>
 270.818 -        <text
 270.819 -           xml:space="preserve"
 270.820 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.821 -           x="197.13031"
 270.822 -           y="349.07404"
 270.823 -           id="text3489"><tspan
 270.824 -             sodipodi:role="line"
 270.825 -             id="tspan3491"
 270.826 -             x="197.13031"
 270.827 -             y="349.07404"
 270.828 -             style="font-family:Courier">32bf9a5f22c0</tspan></text>
 270.829 -      </g>
 270.830 -      <g
 270.831 -         transform="matrix(0.423343,0,0,0.423343,198.7176,153.4957)"
 270.832 -         id="g3493">
 270.833 -        <rect
 270.834 -           style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 270.835 -           id="rect3495"
 270.836 -           width="213.85715"
 270.837 -           height="75"
 270.838 -           x="187.5"
 270.839 -           y="363.07654" />
 270.840 -        <text
 270.841 -           xml:space="preserve"
 270.842 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.843 -           x="196.02321"
 270.844 -           y="400.86459"
 270.845 -           id="text3497"><tspan
 270.846 -             sodipodi:role="line"
 270.847 -             id="tspan3499"
 270.848 -             x="196.02321"
 270.849 -             y="400.86459"
 270.850 -             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
 270.851 -        <text
 270.852 -           xml:space="preserve"
 270.853 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.854 -           x="196.71785"
 270.855 -           y="380.17593"
 270.856 -           id="text3501"><tspan
 270.857 -             style="fill:black;fill-opacity:1"
 270.858 -             id="tspan3503"
 270.859 -             sodipodi:role="line"
 270.860 -             x="196.71785"
 270.861 -             y="380.17593">Revision data (delta or snapshot)</tspan></text>
 270.862 -      </g>
 270.863 -    </g>
 270.864 -    <rect
 270.865 -       y="387.90286"
 270.866 -       x="272.40894"
 270.867 -       height="89.506805"
 270.868 -       width="101.60232"
 270.869 -       id="rect5081"
 270.870 -       style="fill:url(#linearGradient5895);fill-opacity:1;stroke:black;stroke-width:0.48811448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.871 -    <g
 270.872 -       id="g5087"
 270.873 -       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 270.874 -      <rect
 270.875 -         y="447.72418"
 270.876 -         x="188.6071"
 270.877 -         height="48.571426"
 270.878 -         width="103.14286"
 270.879 -         id="rect5089"
 270.880 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.881 -      <text
 270.882 -         id="text5091"
 270.883 -         y="464.82358"
 270.884 -         x="197.82495"
 270.885 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.886 -         xml:space="preserve"><tspan
 270.887 -           y="464.82358"
 270.888 -           x="197.82495"
 270.889 -           sodipodi:role="line"
 270.890 -           id="tspan5093">First parent</tspan></text>
 270.891 -      <text
 270.892 -         id="text5095"
 270.893 -         y="485.51224"
 270.894 -         x="197.13031"
 270.895 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.896 -         xml:space="preserve"><tspan
 270.897 -           style="font-family:Courier"
 270.898 -           y="485.51224"
 270.899 -           x="197.13031"
 270.900 -           id="tspan5097"
 270.901 -           sodipodi:role="line">ff9dc8bc2a8b</tspan></text>
 270.902 -    </g>
 270.903 -    <g
 270.904 -       id="g5099"
 270.905 -       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 270.906 -      <rect
 270.907 -         y="447.71451"
 270.908 -         x="299.67859"
 270.909 -         height="48.571426"
 270.910 -         width="103.14286"
 270.911 -         id="rect5101"
 270.912 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.913 -      <text
 270.914 -         id="text5103"
 270.915 -         y="464.8139"
 270.916 -         x="308.89639"
 270.917 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.918 -         xml:space="preserve"><tspan
 270.919 -           y="464.8139"
 270.920 -           x="308.89639"
 270.921 -           sodipodi:role="line"
 270.922 -           id="tspan5105">Second parent</tspan></text>
 270.923 -      <text
 270.924 -         id="text5107"
 270.925 -         y="485.50256"
 270.926 -         x="308.20175"
 270.927 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.928 -         xml:space="preserve"><tspan
 270.929 -           style="font-family:Courier"
 270.930 -           y="485.50256"
 270.931 -           x="308.20175"
 270.932 -           id="tspan5109"
 270.933 -           sodipodi:role="line">000000000000</tspan></text>
 270.934 -    </g>
 270.935 -    <g
 270.936 -       id="g5111"
 270.937 -       transform="matrix(0.423343,0,0,0.423343,198.0214,261.7142)">
 270.938 -      <rect
 270.939 -         y="311.28598"
 270.940 -         x="188.6071"
 270.941 -         height="48.571426"
 270.942 -         width="103.14286"
 270.943 -         id="rect5113"
 270.944 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.945 -      <text
 270.946 -         id="text5115"
 270.947 -         y="328.38538"
 270.948 -         x="197.82495"
 270.949 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.950 -         xml:space="preserve"><tspan
 270.951 -           y="328.38538"
 270.952 -           x="197.82495"
 270.953 -           sodipodi:role="line"
 270.954 -           id="tspan5117">Revision hash</tspan></text>
 270.955 -      <text
 270.956 -         id="text5119"
 270.957 -         y="349.07404"
 270.958 -         x="197.13031"
 270.959 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.960 -         xml:space="preserve"><tspan
 270.961 -           style="font-family:Courier"
 270.962 -           y="349.07404"
 270.963 -           x="197.13031"
 270.964 -           id="tspan5121"
 270.965 -           sodipodi:role="line">ecacb6b4c9fd</tspan></text>
 270.966 -    </g>
 270.967 -    <g
 270.968 -       id="g5123"
 270.969 -       transform="matrix(0.423343,0,0,0.423343,198.4901,263.0729)">
 270.970 -      <rect
 270.971 -         y="363.07654"
 270.972 -         x="187.5"
 270.973 -         height="75"
 270.974 -         width="213.85715"
 270.975 -         id="rect5125"
 270.976 -         style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 270.977 -      <text
 270.978 -         id="text5127"
 270.979 -         y="400.86459"
 270.980 -         x="196.02321"
 270.981 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.982 -         xml:space="preserve"><tspan
 270.983 -           style="fill:black;fill-opacity:1;font-family:Courier"
 270.984 -           y="400.86459"
 270.985 -           x="196.02321"
 270.986 -           id="tspan5129"
 270.987 -           sodipodi:role="line">...</tspan></text>
 270.988 -      <text
 270.989 -         id="text5131"
 270.990 -         y="380.17593"
 270.991 -         x="196.71785"
 270.992 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 270.993 -         xml:space="preserve"><tspan
 270.994 -           y="380.17593"
 270.995 -           x="196.71785"
 270.996 -           sodipodi:role="line"
 270.997 -           id="tspan5133"
 270.998 -           style="fill:black;fill-opacity:1">Revision data (delta or snapshot)</tspan></text>
 270.999 -    </g>
270.1000 -    <path
270.1001 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
270.1002 -       d="M 299.69935,362.24027 L 299.69931,393.49494"
270.1003 -       id="path5203"
270.1004 -       inkscape:connector-type="polyline"
270.1005 -       inkscape:connection-start="#g3457"
270.1006 -       inkscape:connection-end="#g5111" />
270.1007 -    <path
270.1008 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
270.1009 -       d="M 182.35357,362.22647 L 241.2842,503.07224"
270.1010 -       id="path5271"
270.1011 -       inkscape:connector-type="polyline"
270.1012 -       inkscape:connection-start="#g3399"
270.1013 -       inkscape:connection-end="#g3539" />
270.1014 -    <path
270.1015 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
270.1016 -       d="M 287.63109,471.81747 L 250.9438,503.07223"
270.1017 -       id="path5285"
270.1018 -       inkscape:connector-type="polyline"
270.1019 -       inkscape:connection-start="#g5087"
270.1020 -       inkscape:connection-end="#g3539" />
270.1021 -    <path
270.1022 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
270.1023 -       d="M 290.80419,250.07192 L 297.80065,283.90394"
270.1024 -       id="path5077"
270.1025 -       inkscape:connector-type="polyline"
270.1026 -       inkscape:connection-start="#g3215"
270.1027 -       inkscape:connection-end="#g3481" />
270.1028 -    <path
270.1029 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
270.1030 -       d="M 229.63373,250.07601 L 190.07484,283.90394"
270.1031 -       id="path5075"
270.1032 -       inkscape:connector-type="polyline"
270.1033 -       inkscape:connection-end="#g3423" />
270.1034 -    <text
270.1035 -       xml:space="preserve"
270.1036 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1037 -       x="131.5625"
270.1038 -       y="100.79968"
270.1039 -       id="text5897"><tspan
270.1040 -         sodipodi:role="line"
270.1041 -         id="tspan5899"
270.1042 -         x="131.5625"
270.1043 -         y="100.79968"
270.1044 -         style="text-align:end;text-anchor:end">Head revision</tspan><tspan
270.1045 -         sodipodi:role="line"
270.1046 -         x="131.5625"
270.1047 -         y="115.79968"
270.1048 -         id="tspan5901"
270.1049 -         style="text-align:end;text-anchor:end">(no children)</tspan></text>
270.1050 -    <text
270.1051 -       xml:space="preserve"
270.1052 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1053 -       x="131.5625"
270.1054 -       y="207.04968"
270.1055 -       id="text5903"><tspan
270.1056 -         sodipodi:role="line"
270.1057 -         id="tspan5905"
270.1058 -         x="131.5625"
270.1059 -         y="207.04968"
270.1060 -         style="text-align:end;text-anchor:end">Merge revision</tspan><tspan
270.1061 -         sodipodi:role="line"
270.1062 -         x="131.5625"
270.1063 -         y="222.04968"
270.1064 -         id="tspan5907"
270.1065 -         style="text-align:end;text-anchor:end">(two parents)</tspan></text>
270.1066 -    <text
270.1067 -       xml:space="preserve"
270.1068 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1069 -       x="131.92578"
270.1070 -       y="451.58093"
270.1071 -       id="text5909"><tspan
270.1072 -         sodipodi:role="line"
270.1073 -         id="tspan5911"
270.1074 -         x="131.92578"
270.1075 -         y="451.58093"
270.1076 -         style="text-align:end;text-anchor:end">Branches</tspan><tspan
270.1077 -         sodipodi:role="line"
270.1078 -         x="131.92578"
270.1079 -         y="466.58093"
270.1080 -         id="tspan5913"
270.1081 -         style="text-align:end;text-anchor:end">(two revisions,</tspan><tspan
270.1082 -         sodipodi:role="line"
270.1083 -         x="131.92578"
270.1084 -         y="481.58093"
270.1085 -         id="tspan5915"
270.1086 -         style="text-align:end;text-anchor:end">same parent)</tspan></text>
270.1087 -    <path
270.1088 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
270.1089 -       d="M 111.71875,433.61218 L 154.7268,368.52294"
270.1090 -       id="path5917"
270.1091 -       inkscape:connector-type="polyline" />
270.1092 -    <path
270.1093 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
270.1094 -       d="M 134.375,464.86218 L 277.86691,440.37816"
270.1095 -       id="path5919"
270.1096 -       inkscape:connector-type="polyline"
270.1097 -       inkscape:connection-end="#g5123" />
270.1098 -    <text
270.1099 -       xml:space="preserve"
270.1100 -       style="font-size:12px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1101 -       x="131.5625"
270.1102 -       y="536.73718"
270.1103 -       id="text5927"><tspan
270.1104 -         sodipodi:role="line"
270.1105 -         id="tspan5929"
270.1106 -         x="131.5625"
270.1107 -         y="536.73718">First revision</tspan><tspan
270.1108 -         sodipodi:role="line"
270.1109 -         x="131.5625"
270.1110 -         y="551.73718"
270.1111 -         id="tspan5931">(both parents null)</tspan></text>
270.1112 -    <rect
270.1113 -       style="fill:#bbb4ff;fill-opacity:1;stroke:none;stroke-width:0.95291203;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
270.1114 -       id="rect2830"
270.1115 -       width="43.664806"
270.1116 -       height="20.562374"
270.1117 -       x="217.0432"
270.1118 -       y="232.10075" />
270.1119 -    <text
270.1120 -       xml:space="preserve"
270.1121 -       style="font-size:5.0801158px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1122 -       x="220.94551"
270.1123 -       y="239.33966"
270.1124 -       id="text2832"><tspan
270.1125 -         id="tspan2836"
270.1126 -         sodipodi:role="line"
270.1127 -         x="220.94551"
270.1128 -         y="239.33966">First parent</tspan></text>
270.1129 -    <text
270.1130 -       xml:space="preserve"
270.1131 -       style="font-size:5.0801158px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
270.1132 -       x="220.65144"
270.1133 -       y="248.09805"
270.1134 -       id="text2879"><tspan
270.1135 -         sodipodi:role="line"
270.1136 -         id="tspan2881"
270.1137 -         x="220.65144"
270.1138 -         y="248.09805"
270.1139 -         style="font-family:Courier">5b80c922ebdd</tspan></text>
270.1140 -    <path
270.1141 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
270.1142 -       d="M 139.84375,107.83093 L 210.15625,107.83093"
270.1143 -       id="path5965"
270.1144 -       inkscape:connector-type="polyline" />
270.1145 -    <path
270.1146 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
270.1147 -       d="M 137.5,213.29968 L 210.49036,214.09055"
270.1148 -       id="path5967"
270.1149 -       inkscape:connector-type="polyline" />
270.1150 -    <path
270.1151 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
270.1152 -       d="M 136.34375,544.54968 L 206.65625,544.54968"
270.1153 -       id="path5969"
270.1154 -       inkscape:connector-type="polyline"
270.1155 -       inkscape:transform-center-y="-171.09375"
270.1156 -       inkscape:transform-center-x="53.90625" />
270.1157 -  </g>
270.1158 -</svg>
   271.1 --- a/en/images/snapshot.svg	Fri Mar 20 17:17:55 2009 +0800
   271.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   271.3 @@ -1,202 +0,0 @@
   271.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   271.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   271.6 -<svg
   271.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   271.8 -   xmlns:cc="http://web.resource.org/cc/"
   271.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  271.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  271.11 -   xmlns="http://www.w3.org/2000/svg"
  271.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  271.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  271.14 -   width="744.09448819"
  271.15 -   height="1052.3622047"
  271.16 -   id="svg2807"
  271.17 -   sodipodi:version="0.32"
  271.18 -   inkscape:version="0.44.1"
  271.19 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  271.20 -   sodipodi:docname="snapshots.svg">
  271.21 -  <defs
  271.22 -     id="defs2809" />
  271.23 -  <sodipodi:namedview
  271.24 -     id="base"
  271.25 -     pagecolor="#ffffff"
  271.26 -     bordercolor="#666666"
  271.27 -     borderopacity="1.0"
  271.28 -     gridtolerance="10000"
  271.29 -     guidetolerance="10"
  271.30 -     objecttolerance="10"
  271.31 -     inkscape:pageopacity="0.0"
  271.32 -     inkscape:pageshadow="2"
  271.33 -     inkscape:zoom="1.4"
  271.34 -     inkscape:cx="252.04111"
  271.35 -     inkscape:cy="605.75448"
  271.36 -     inkscape:document-units="px"
  271.37 -     inkscape:current-layer="layer1"
  271.38 -     inkscape:window-width="906"
  271.39 -     inkscape:window-height="721"
  271.40 -     inkscape:window-x="0"
  271.41 -     inkscape:window-y="25" />
  271.42 -  <metadata
  271.43 -     id="metadata2812">
  271.44 -    <rdf:RDF>
  271.45 -      <cc:Work
  271.46 -         rdf:about="">
  271.47 -        <dc:format>image/svg+xml</dc:format>
  271.48 -        <dc:type
  271.49 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  271.50 -      </cc:Work>
  271.51 -    </rdf:RDF>
  271.52 -  </metadata>
  271.53 -  <g
  271.54 -     inkscape:label="Layer 1"
  271.55 -     inkscape:groupmode="layer"
  271.56 -     id="layer1">
  271.57 -    <rect
  271.58 -       style="opacity:1;fill:#d3ceff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.88795626;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
  271.59 -       id="rect2817"
  271.60 -       width="118.18347"
  271.61 -       height="245.32632"
  271.62 -       x="243.05112"
  271.63 -       y="315.4133"
  271.64 -       inkscape:transform-center-x="136.84403"
  271.65 -       inkscape:transform-center-y="-66.529183" />
  271.66 -    <rect
  271.67 -       y="315.04153"
  271.68 -       x="46.965065"
  271.69 -       height="97.803009"
  271.70 -       width="108.92702"
  271.71 -       id="rect2815"
  271.72 -       style="fill:#ffced6;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.14441991;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
  271.73 -    <g
  271.74 -       id="g3814">
  271.75 -      <rect
  271.76 -         y="348.94302"
  271.77 -         x="59.285713"
  271.78 -         height="30"
  271.79 -         width="84.285713"
  271.80 -         id="rect2819"
  271.81 -         style="fill:#ff6e86;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
  271.82 -         ry="0" />
  271.83 -      <text
  271.84 -         id="text2821"
  271.85 -         y="368.02701"
  271.86 -         x="72.717636"
  271.87 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
  271.88 -         xml:space="preserve"><tspan
  271.89 -           y="368.02701"
  271.90 -           x="72.717636"
  271.91 -           id="tspan2823"
  271.92 -           sodipodi:role="line">Index, rev 7</tspan></text>
  271.93 -    </g>
  271.94 -    <text
  271.95 -       id="text3722"
  271.96 -       y="301.29074"
  271.97 -       x="46.187778"
  271.98 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
  271.99 -       xml:space="preserve"><tspan
 271.100 -         y="301.29074"
 271.101 -         x="46.187778"
 271.102 -         id="tspan3724"
 271.103 -         sodipodi:role="line">Revlog index (.i file)</tspan></text>
 271.104 -    <text
 271.105 -       id="text3726"
 271.106 -       y="301.29074"
 271.107 -       x="241.90207"
 271.108 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.109 -       xml:space="preserve"><tspan
 271.110 -         y="301.29074"
 271.111 -         x="241.90207"
 271.112 -         id="tspan3728"
 271.113 -         sodipodi:role="line">Revlog data (.d file)</tspan></text>
 271.114 -    <path
 271.115 -       style="fill:#c695ff;fill-opacity:0.60109288;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 271.116 -       d="M 143.57143,348.07647 L 255,368.07646 L 255.71429,544.50504 L 142.85714,379.50504 L 143.57143,348.07647 z "
 271.117 -       id="path3839"
 271.118 -       sodipodi:nodetypes="ccccc" />
 271.119 -    <rect
 271.120 -       style="fill:#4733ff;fill-opacity:1;stroke:#a7a7a7;stroke-width:2.35124183;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 271.121 -       id="rect3752"
 271.122 -       width="92.720184"
 271.123 -       height="67.005905"
 271.124 -       x="255.42564"
 271.125 -       y="368.64264" />
 271.126 -    <text
 271.127 -       xml:space="preserve"
 271.128 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.129 -       x="264.45859"
 271.130 -       y="387.30099"
 271.131 -       id="text3754"><tspan
 271.132 -         sodipodi:role="line"
 271.133 -         id="tspan3756"
 271.134 -         x="264.45859"
 271.135 -         y="387.30099">Snapshot, rev 4</tspan></text>
 271.136 -    <rect
 271.137 -       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 271.138 -       id="rect3761"
 271.139 -       width="93.49366"
 271.140 -       height="29.922237"
 271.141 -       x="255.03891"
 271.142 -       y="442.04395" />
 271.143 -    <text
 271.144 -       xml:space="preserve"
 271.145 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.146 -       x="263.2662"
 271.147 -       y="460.17206"
 271.148 -       id="text3763"><tspan
 271.149 -         sodipodi:role="line"
 271.150 -         id="tspan3765"
 271.151 -         x="263.2662"
 271.152 -         y="460.17206">Delta, rev 4 to 5</tspan></text>
 271.153 -    <rect
 271.154 -       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 271.155 -       id="rect3774"
 271.156 -       width="93.49366"
 271.157 -       height="29.922237"
 271.158 -       x="255.03891"
 271.159 -       y="477.97485" />
 271.160 -    <text
 271.161 -       xml:space="preserve"
 271.162 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.163 -       x="263.2662"
 271.164 -       y="496.10297"
 271.165 -       id="text3776"><tspan
 271.166 -         sodipodi:role="line"
 271.167 -         id="tspan3778"
 271.168 -         x="263.2662"
 271.169 -         y="496.10297">Delta, rev 5 to 6</tspan></text>
 271.170 -    <rect
 271.171 -       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 271.172 -       id="rect3782"
 271.173 -       width="93.49366"
 271.174 -       height="29.922237"
 271.175 -       x="255.03891"
 271.176 -       y="513.90576" />
 271.177 -    <text
 271.178 -       xml:space="preserve"
 271.179 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.180 -       x="263.2662"
 271.181 -       y="532.03387"
 271.182 -       id="text3784"><tspan
 271.183 -         sodipodi:role="line"
 271.184 -         id="tspan3786"
 271.185 -         x="263.2662"
 271.186 -         y="532.03387">Delta, rev 6 to 7</tspan></text>
 271.187 -    <rect
 271.188 -       style="fill:#7c6eff;fill-opacity:1;stroke:#a7a7a7;stroke-width:1.57776296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 271.189 -       id="rect3889"
 271.190 -       width="93.49366"
 271.191 -       height="29.922237"
 271.192 -       x="255.03891"
 271.193 -       y="332.32489" />
 271.194 -    <text
 271.195 -       xml:space="preserve"
 271.196 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 271.197 -       x="263.2662"
 271.198 -       y="350.453"
 271.199 -       id="text3891"><tspan
 271.200 -         sodipodi:role="line"
 271.201 -         id="tspan3893"
 271.202 -         x="263.2662"
 271.203 -         y="350.453">Delta, rev 2 to 3</tspan></text>
 271.204 -  </g>
 271.205 -</svg>
   272.1 --- a/en/images/tour-history.svg	Fri Mar 20 17:17:55 2009 +0800
   272.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   272.3 @@ -1,289 +0,0 @@
   272.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   272.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   272.6 -<svg
   272.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   272.8 -   xmlns:cc="http://web.resource.org/cc/"
   272.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  272.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  272.11 -   xmlns="http://www.w3.org/2000/svg"
  272.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  272.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  272.14 -   width="744.09448819"
  272.15 -   height="1052.3622047"
  272.16 -   id="svg2"
  272.17 -   sodipodi:version="0.32"
  272.18 -   inkscape:version="0.44.1"
  272.19 -   sodipodi:docname="tour-history.svg">
  272.20 -  <defs
  272.21 -     id="defs4">
  272.22 -    <marker
  272.23 -       inkscape:stockid="Arrow1Mstart"
  272.24 -       orient="auto"
  272.25 -       refY="0.0"
  272.26 -       refX="0.0"
  272.27 -       id="Arrow1Mstart"
  272.28 -       style="overflow:visible">
  272.29 -      <path
  272.30 -         id="path2973"
  272.31 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  272.32 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  272.33 -         transform="scale(0.4) translate(10,0)" />
  272.34 -    </marker>
  272.35 -    <marker
  272.36 -       inkscape:stockid="Arrow1Mend"
  272.37 -       orient="auto"
  272.38 -       refY="0.0"
  272.39 -       refX="0.0"
  272.40 -       id="Arrow1Mend"
  272.41 -       style="overflow:visible;">
  272.42 -      <path
  272.43 -         id="path3066"
  272.44 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  272.45 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  272.46 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  272.47 -    </marker>
  272.48 -  </defs>
  272.49 -  <sodipodi:namedview
  272.50 -     id="base"
  272.51 -     pagecolor="#ffffff"
  272.52 -     bordercolor="#666666"
  272.53 -     borderopacity="1.0"
  272.54 -     gridtolerance="10000"
  272.55 -     guidetolerance="10"
  272.56 -     objecttolerance="10"
  272.57 -     inkscape:pageopacity="0.0"
  272.58 -     inkscape:pageshadow="2"
  272.59 -     inkscape:zoom="1.4"
  272.60 -     inkscape:cx="232.14286"
  272.61 -     inkscape:cy="672.75296"
  272.62 -     inkscape:document-units="px"
  272.63 -     inkscape:current-layer="layer1"
  272.64 -     inkscape:window-width="906"
  272.65 -     inkscape:window-height="620"
  272.66 -     inkscape:window-x="5"
  272.67 -     inkscape:window-y="49" />
  272.68 -  <metadata
  272.69 -     id="metadata7">
  272.70 -    <rdf:RDF>
  272.71 -      <cc:Work
  272.72 -         rdf:about="">
  272.73 -        <dc:format>image/svg+xml</dc:format>
  272.74 -        <dc:type
  272.75 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  272.76 -      </cc:Work>
  272.77 -    </rdf:RDF>
  272.78 -  </metadata>
  272.79 -  <g
  272.80 -     inkscape:label="Layer 1"
  272.81 -     inkscape:groupmode="layer"
  272.82 -     id="layer1">
  272.83 -    <rect
  272.84 -       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  272.85 -       id="rect1878"
  272.86 -       width="94.285713"
  272.87 -       height="20.714285"
  272.88 -       x="138"
  272.89 -       y="479.50504" />
  272.90 -    <text
  272.91 -       xml:space="preserve"
  272.92 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  272.93 -       x="162.09892"
  272.94 -       y="493.12619"
  272.95 -       id="text1872"><tspan
  272.96 -         sodipodi:role="line"
  272.97 -         id="tspan1874"
  272.98 -         x="162.09892"
  272.99 -         y="493.12619"
 272.100 -         style="font-family:Courier"><tspan
 272.101 -   style="font-weight:bold"
 272.102 -   id="tspan1876">0</tspan>: REV0</tspan></text>
 272.103 -    <rect
 272.104 -       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 272.105 -       id="rect2800"
 272.106 -       width="94.285713"
 272.107 -       height="20.714285"
 272.108 -       x="138"
 272.109 -       y="432.63004" />
 272.110 -    <text
 272.111 -       xml:space="preserve"
 272.112 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.113 -       x="162.09892"
 272.114 -       y="446.25119"
 272.115 -       id="text2794"><tspan
 272.116 -         sodipodi:role="line"
 272.117 -         id="tspan2796"
 272.118 -         x="162.09892"
 272.119 -         y="446.25119"
 272.120 -         style="font-family:Courier"><tspan
 272.121 -   id="tspan2868"
 272.122 -   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 272.123 -    <rect
 272.124 -       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 272.125 -       id="rect2810"
 272.126 -       width="94.285713"
 272.127 -       height="20.714285"
 272.128 -       x="138"
 272.129 -       y="385.75504" />
 272.130 -    <text
 272.131 -       xml:space="preserve"
 272.132 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.133 -       x="162.09892"
 272.134 -       y="399.37619"
 272.135 -       id="text2804"><tspan
 272.136 -         sodipodi:role="line"
 272.137 -         id="tspan2806"
 272.138 -         x="162.09892"
 272.139 -         y="399.37619"
 272.140 -         style="font-family:Courier"><tspan
 272.141 -   style="font-weight:bold"
 272.142 -   id="tspan2866">2</tspan>: REV2</tspan></text>
 272.143 -    <rect
 272.144 -       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 272.145 -       id="rect2820"
 272.146 -       width="94.285713"
 272.147 -       height="20.714285"
 272.148 -       x="138"
 272.149 -       y="338.88007" />
 272.150 -    <text
 272.151 -       xml:space="preserve"
 272.152 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.153 -       x="162.09892"
 272.154 -       y="352.50122"
 272.155 -       id="text2814"><tspan
 272.156 -         sodipodi:role="line"
 272.157 -         id="tspan2816"
 272.158 -         x="162.09892"
 272.159 -         y="352.50122"
 272.160 -         style="font-family:Courier"><tspan
 272.161 -   style="font-weight:bold"
 272.162 -   id="tspan2864">3</tspan>: REV3</tspan></text>
 272.163 -    <rect
 272.164 -       style="opacity:1;fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 272.165 -       id="rect2830"
 272.166 -       width="94.285713"
 272.167 -       height="20.714285"
 272.168 -       x="138"
 272.169 -       y="292.00504" />
 272.170 -    <text
 272.171 -       xml:space="preserve"
 272.172 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.173 -       x="162.09892"
 272.174 -       y="305.62619"
 272.175 -       id="text2824"><tspan
 272.176 -         sodipodi:role="line"
 272.177 -         id="tspan2826"
 272.178 -         x="162.09892"
 272.179 -         y="305.62619"
 272.180 -         style="font-family:Courier"><tspan
 272.181 -   style="font-weight:bold"
 272.182 -   id="tspan2862">4</tspan>: REV4</tspan></text>
 272.183 -    <text
 272.184 -       xml:space="preserve"
 272.185 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.186 -       x="173.57143"
 272.187 -       y="443.79074"
 272.188 -       id="text2832"><tspan
 272.189 -         sodipodi:role="line"
 272.190 -         id="tspan2834"
 272.191 -         x="173.57143"
 272.192 -         y="443.79074" /></text>
 272.193 -    <path
 272.194 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 272.195 -       d="M 185.14286,478.50504 L 185.14286,454.34432"
 272.196 -       id="path2894"
 272.197 -       inkscape:connector-type="polyline" />
 272.198 -    <path
 272.199 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 272.200 -       d="M 185.14286,431.63004 L 185.14286,407.46932"
 272.201 -       id="path2896"
 272.202 -       inkscape:connector-type="polyline" />
 272.203 -    <path
 272.204 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 272.205 -       d="M 185.14286,384.75504 L 185.14286,360.59435"
 272.206 -       id="path2898"
 272.207 -       inkscape:connector-type="polyline" />
 272.208 -    <path
 272.209 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 272.210 -       d="M 185.14286,337.88007 L 185.14286,313.71932"
 272.211 -       id="path2900"
 272.212 -       inkscape:connector-type="polyline" />
 272.213 -    <text
 272.214 -       xml:space="preserve"
 272.215 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 272.216 -       x="244.60992"
 272.217 -       y="305.245"
 272.218 -       id="text1902"><tspan
 272.219 -         sodipodi:role="line"
 272.220 -         id="tspan1904"
 272.221 -         x="244.60992"
 272.222 -         y="305.245">(newest)</tspan></text>
 272.223 -    <text
 272.224 -       xml:space="preserve"
 272.225 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 272.226 -       x="244.60992"
 272.227 -       y="492.745"
 272.228 -       id="text1906"><tspan
 272.229 -         sodipodi:role="line"
 272.230 -         id="tspan1908"
 272.231 -         x="244.60992"
 272.232 -         y="492.745">(oldest)</tspan></text>
 272.233 -    <rect
 272.234 -       style="opacity:1;fill:#d2e1e4;fill-opacity:1;stroke:#b1cbd0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 272.235 -       id="rect1907"
 272.236 -       width="94.285713"
 272.237 -       height="20.714285"
 272.238 -       x="309.28571"
 272.239 -       y="324.86218" />
 272.240 -    <text
 272.241 -       xml:space="preserve"
 272.242 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 272.243 -       x="333.38464"
 272.244 -       y="338.48334"
 272.245 -       id="text1909"><tspan
 272.246 -         sodipodi:role="line"
 272.247 -         id="tspan1911"
 272.248 -         x="333.38464"
 272.249 -         y="338.48334"
 272.250 -         style="font-family:Courier"><tspan
 272.251 -   style="font-weight:bold"
 272.252 -   id="tspan1913">4</tspan>: REV4</tspan></text>
 272.253 -    <path
 272.254 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 272.255 -       d="M 332.14286,375.21932 L 335.71429,347.36218"
 272.256 -       id="path2802" />
 272.257 -    <path
 272.258 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 272.259 -       d="M 372.69968,375.21932 L 369.12825,347.36218"
 272.260 -       id="path2986" />
 272.261 -    <text
 272.262 -       xml:space="preserve"
 272.263 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 272.264 -       x="335.14285"
 272.265 -       y="387.21933"
 272.266 -       id="text2988"><tspan
 272.267 -         sodipodi:role="line"
 272.268 -         x="335.14285"
 272.269 -         y="387.21933"
 272.270 -         id="tspan3020"
 272.271 -         style="text-align:end;text-anchor:end">revision</tspan><tspan
 272.272 -         sodipodi:role="line"
 272.273 -         x="335.14285"
 272.274 -         y="402.21933"
 272.275 -         id="tspan3014"
 272.276 -         style="text-align:end;text-anchor:end">number</tspan></text>
 272.277 -    <text
 272.278 -       xml:space="preserve"
 272.279 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times"
 272.280 -       x="368.71429"
 272.281 -       y="387.21933"
 272.282 -       id="text2994"><tspan
 272.283 -         sodipodi:role="line"
 272.284 -         id="tspan2996"
 272.285 -         x="368.71429"
 272.286 -         y="387.21933">changeset</tspan><tspan
 272.287 -         sodipodi:role="line"
 272.288 -         x="368.71429"
 272.289 -         y="402.21933"
 272.290 -         id="tspan2998">identifier</tspan></text>
 272.291 -  </g>
 272.292 -</svg>
   273.1 --- a/en/images/tour-merge-conflict.svg	Fri Mar 20 17:17:55 2009 +0800
   273.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   273.3 @@ -1,210 +0,0 @@
   273.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   273.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   273.6 -<svg
   273.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   273.8 -   xmlns:cc="http://web.resource.org/cc/"
   273.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  273.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  273.11 -   xmlns="http://www.w3.org/2000/svg"
  273.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  273.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  273.14 -   width="744.09448819"
  273.15 -   height="1052.3622047"
  273.16 -   id="svg2"
  273.17 -   sodipodi:version="0.32"
  273.18 -   inkscape:version="0.44.1"
  273.19 -   sodipodi:docname="tour-merge-conflict.svg">
  273.20 -  <defs
  273.21 -     id="defs4">
  273.22 -    <marker
  273.23 -       inkscape:stockid="Arrow1Mend"
  273.24 -       orient="auto"
  273.25 -       refY="0.0"
  273.26 -       refX="0.0"
  273.27 -       id="Arrow1Mend"
  273.28 -       style="overflow:visible;">
  273.29 -      <path
  273.30 -         id="path3053"
  273.31 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  273.32 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  273.33 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  273.34 -    </marker>
  273.35 -  </defs>
  273.36 -  <sodipodi:namedview
  273.37 -     id="base"
  273.38 -     pagecolor="#ffffff"
  273.39 -     bordercolor="#666666"
  273.40 -     borderopacity="1.0"
  273.41 -     gridtolerance="10000"
  273.42 -     guidetolerance="10"
  273.43 -     objecttolerance="10"
  273.44 -     inkscape:pageopacity="0.0"
  273.45 -     inkscape:pageshadow="2"
  273.46 -     inkscape:zoom="1.4"
  273.47 -     inkscape:cx="164.78349"
  273.48 -     inkscape:cy="590.07679"
  273.49 -     inkscape:document-units="px"
  273.50 -     inkscape:current-layer="layer1"
  273.51 -     inkscape:window-width="906"
  273.52 -     inkscape:window-height="620"
  273.53 -     inkscape:window-x="5"
  273.54 -     inkscape:window-y="49" />
  273.55 -  <metadata
  273.56 -     id="metadata7">
  273.57 -    <rdf:RDF>
  273.58 -      <cc:Work
  273.59 -         rdf:about="">
  273.60 -        <dc:format>image/svg+xml</dc:format>
  273.61 -        <dc:type
  273.62 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  273.63 -      </cc:Work>
  273.64 -    </rdf:RDF>
  273.65 -  </metadata>
  273.66 -  <g
  273.67 -     inkscape:label="Layer 1"
  273.68 -     inkscape:groupmode="layer"
  273.69 -     id="layer1">
  273.70 -    <g
  273.71 -       id="g1988"
  273.72 -       transform="translate(84.85711,0)">
  273.73 -      <g
  273.74 -         id="g1876">
  273.75 -        <path
  273.76 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  273.77 -           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
  273.78 -           id="path1872"
  273.79 -           sodipodi:nodetypes="cccccc" />
  273.80 -        <path
  273.81 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  273.82 -           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
  273.83 -           id="path1874"
  273.84 -           sodipodi:nodetypes="cccc" />
  273.85 -      </g>
  273.86 -      <flowRoot
  273.87 -         style="font-size:8px;font-family:Times New Roman"
  273.88 -         id="flowRoot1898"
  273.89 -         xml:space="preserve"><flowRegion
  273.90 -           id="flowRegion1900"><rect
  273.91 -             style="font-size:8px;font-family:Times New Roman"
  273.92 -             y="464.50504"
  273.93 -             x="122.85714"
  273.94 -             height="93.571426"
  273.95 -             width="76.428574"
  273.96 -             id="rect1902" /></flowRegion><flowPara
  273.97 -           id="flowPara1904">Greetings!</flowPara><flowPara
  273.98 -           id="flowPara1906" /><flowPara
  273.99 -           id="flowPara1908">I am Mariam Abacha, the wife of former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 273.100 -    <g
 273.101 -       id="g1966"
 273.102 -       transform="translate(82,0.35715)">
 273.103 -      <g
 273.104 -         transform="translate(-77.85718,-140.0714)"
 273.105 -         id="g1910">
 273.106 -        <path
 273.107 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 273.108 -           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
 273.109 -           id="path1912"
 273.110 -           sodipodi:nodetypes="cccccc" />
 273.111 -        <path
 273.112 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 273.113 -           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
 273.114 -           id="path1914"
 273.115 -           sodipodi:nodetypes="cccc" />
 273.116 -      </g>
 273.117 -      <flowRoot
 273.118 -         transform="translate(-77.85718,-140.0714)"
 273.119 -         style="font-size:8px;font-family:Times New Roman"
 273.120 -         id="flowRoot1916"
 273.121 -         xml:space="preserve"><flowRegion
 273.122 -           id="flowRegion1918"><rect
 273.123 -             style="font-size:8px;font-family:Times New Roman"
 273.124 -             y="464.50504"
 273.125 -             x="122.85714"
 273.126 -             height="93.571426"
 273.127 -             width="76.428574"
 273.128 -             id="rect1920" /></flowRegion><flowPara
 273.129 -           id="flowPara1922">Greetings!</flowPara><flowPara
 273.130 -           id="flowPara1924" /><flowPara
 273.131 -           id="flowPara1926">I am <flowSpan
 273.132 -   style="font-style:italic;fill:red"
 273.133 -   id="flowSpan3094">Shehu Musa Abacha, cousin to</flowSpan> the former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 273.134 -    <g
 273.135 -       id="g1977"
 273.136 -       transform="translate(81.99999,-0.35715)">
 273.137 -      <g
 273.138 -         transform="translate(83.57141,-139.3571)"
 273.139 -         id="g1932">
 273.140 -        <path
 273.141 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 273.142 -           d="M 118.57143,458.21933 L 118.57143,563.79075 L 191.42857,563.79075 L 204.28571,550.93361 L 203.57142,459.6479 L 118.57143,458.21933 z "
 273.143 -           id="path1934"
 273.144 -           sodipodi:nodetypes="cccccc" />
 273.145 -        <path
 273.146 -           style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 273.147 -           d="M 191.55484,563.36862 L 191.6923,560.98794 L 192.69126,552.44884 L 203.80416,551.31242"
 273.148 -           id="path1936"
 273.149 -           sodipodi:nodetypes="cccc" />
 273.150 -      </g>
 273.151 -      <flowRoot
 273.152 -         transform="translate(83.57141,-139.3571)"
 273.153 -         style="font-size:8px;font-family:Times New Roman"
 273.154 -         id="flowRoot1938"
 273.155 -         xml:space="preserve"><flowRegion
 273.156 -           id="flowRegion1940"><rect
 273.157 -             style="font-size:8px;font-family:Times New Roman"
 273.158 -             y="464.50504"
 273.159 -             x="122.85714"
 273.160 -             height="93.571426"
 273.161 -             width="76.428574"
 273.162 -             id="rect1942" /></flowRegion><flowPara
 273.163 -           id="flowPara1944">Greetings!</flowPara><flowPara
 273.164 -           id="flowPara1946" /><flowPara
 273.165 -           id="flowPara1948">I am <flowSpan
 273.166 -   style="font-style:italic;fill:red"
 273.167 -   id="flowSpan3096">Alhaji Abba Abacha, son of</flowSpan> the former Nigerian dictator Sani Abacha. I am contacting you in confidence, and as a means of developing</flowPara></flowRoot>    </g>
 273.168 -    <path
 273.169 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 273.170 -       d="M 215.502,457.71933 L 196.35507,424.5765"
 273.171 -       id="path1999"
 273.172 -       inkscape:connector-type="polyline"
 273.173 -       inkscape:connection-start="#g1988"
 273.174 -       inkscape:connection-end="#g1966" />
 273.175 -    <path
 273.176 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 273.177 -       d="M 277.06936,457.71933 L 296.21629,424.5765"
 273.178 -       id="path2001"
 273.179 -       inkscape:connector-type="polyline"
 273.180 -       inkscape:connection-start="#g1988"
 273.181 -       inkscape:connection-end="#g1977" />
 273.182 -    <text
 273.183 -       xml:space="preserve"
 273.184 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 273.185 -       x="302.42859"
 273.186 -       y="515.08905"
 273.187 -       id="text1905"><tspan
 273.188 -         sodipodi:role="line"
 273.189 -         id="tspan1907"
 273.190 -         x="302.42859"
 273.191 -         y="515.08905">Base version</tspan></text>
 273.192 -    <text
 273.193 -       xml:space="preserve"
 273.194 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 273.195 -       x="45.57143"
 273.196 -       y="374.1619"
 273.197 -       id="text1917"><tspan
 273.198 -         sodipodi:role="line"
 273.199 -         id="tspan1919"
 273.200 -         x="45.57143"
 273.201 -         y="374.1619">Our changes</tspan></text>
 273.202 -    <text
 273.203 -       xml:space="preserve"
 273.204 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 273.205 -       x="385.71429"
 273.206 -       y="374.1619"
 273.207 -       id="text1921"><tspan
 273.208 -         sodipodi:role="line"
 273.209 -         id="tspan1923"
 273.210 -         x="385.71429"
 273.211 -         y="374.1619">Their changes</tspan></text>
 273.212 -  </g>
 273.213 -</svg>
   274.1 --- a/en/images/tour-merge-merge.svg	Fri Mar 20 17:17:55 2009 +0800
   274.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   274.3 @@ -1,380 +0,0 @@
   274.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   274.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   274.6 -<svg
   274.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   274.8 -   xmlns:cc="http://web.resource.org/cc/"
   274.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  274.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  274.11 -   xmlns="http://www.w3.org/2000/svg"
  274.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  274.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  274.14 -   width="744.09448819"
  274.15 -   height="1052.3622047"
  274.16 -   id="svg2"
  274.17 -   sodipodi:version="0.32"
  274.18 -   inkscape:version="0.44.1"
  274.19 -   sodipodi:docname="tour-merge-merge.svg">
  274.20 -  <defs
  274.21 -     id="defs4">
  274.22 -    <marker
  274.23 -       inkscape:stockid="Arrow1Mstart"
  274.24 -       orient="auto"
  274.25 -       refY="0.0"
  274.26 -       refX="0.0"
  274.27 -       id="Arrow1Mstart"
  274.28 -       style="overflow:visible">
  274.29 -      <path
  274.30 -         id="path2973"
  274.31 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  274.32 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  274.33 -         transform="scale(0.4) translate(10,0)" />
  274.34 -    </marker>
  274.35 -    <marker
  274.36 -       inkscape:stockid="Arrow1Mend"
  274.37 -       orient="auto"
  274.38 -       refY="0.0"
  274.39 -       refX="0.0"
  274.40 -       id="Arrow1Mend"
  274.41 -       style="overflow:visible;">
  274.42 -      <path
  274.43 -         id="path3066"
  274.44 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  274.45 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  274.46 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  274.47 -    </marker>
  274.48 -  </defs>
  274.49 -  <sodipodi:namedview
  274.50 -     id="base"
  274.51 -     pagecolor="#ffffff"
  274.52 -     bordercolor="#666666"
  274.53 -     borderopacity="1.0"
  274.54 -     gridtolerance="10000"
  274.55 -     guidetolerance="10"
  274.56 -     objecttolerance="10"
  274.57 -     inkscape:pageopacity="0.0"
  274.58 -     inkscape:pageshadow="2"
  274.59 -     inkscape:zoom="1.4"
  274.60 -     inkscape:cx="247.53795"
  274.61 -     inkscape:cy="871.05738"
  274.62 -     inkscape:document-units="px"
  274.63 -     inkscape:current-layer="layer1"
  274.64 -     inkscape:window-width="906"
  274.65 -     inkscape:window-height="620"
  274.66 -     inkscape:window-x="38"
  274.67 -     inkscape:window-y="95" />
  274.68 -  <metadata
  274.69 -     id="metadata7">
  274.70 -    <rdf:RDF>
  274.71 -      <cc:Work
  274.72 -         rdf:about="">
  274.73 -        <dc:format>image/svg+xml</dc:format>
  274.74 -        <dc:type
  274.75 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  274.76 -      </cc:Work>
  274.77 -    </rdf:RDF>
  274.78 -  </metadata>
  274.79 -  <g
  274.80 -     inkscape:label="Layer 1"
  274.81 -     inkscape:groupmode="layer"
  274.82 -     id="layer1">
  274.83 -    <rect
  274.84 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  274.85 -       id="rect2995"
  274.86 -       width="94.285713"
  274.87 -       height="20.714285"
  274.88 -       x="532.85718"
  274.89 -       y="203.0479" />
  274.90 -    <text
  274.91 -       xml:space="preserve"
  274.92 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  274.93 -       x="173.57143"
  274.94 -       y="443.79074"
  274.95 -       id="text2832"><tspan
  274.96 -         sodipodi:role="line"
  274.97 -         id="tspan2834"
  274.98 -         x="173.57143"
  274.99 -         y="443.79074" /></text>
 274.100 -    <rect
 274.101 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.102 -       id="rect2830"
 274.103 -       width="94.285713"
 274.104 -       height="20.714285"
 274.105 -       x="138"
 274.106 -       y="297.76227" />
 274.107 -    <text
 274.108 -       xml:space="preserve"
 274.109 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.110 -       x="162.09892"
 274.111 -       y="311.38342"
 274.112 -       id="text2824"><tspan
 274.113 -         sodipodi:role="line"
 274.114 -         id="tspan2826"
 274.115 -         x="162.09892"
 274.116 -         y="311.38342"
 274.117 -         style="font-family:Courier"><tspan
 274.118 -   style="font-weight:bold"
 274.119 -   id="tspan2862">4</tspan>: REV4</tspan></text>
 274.120 -    <path
 274.121 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 274.122 -       d="M 185.14286,343.63731 L 185.14286,319.47656"
 274.123 -       id="path2900"
 274.124 -       inkscape:connector-type="polyline" />
 274.125 -    <rect
 274.126 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.127 -       id="rect2863"
 274.128 -       width="94.285713"
 274.129 -       height="20.714285"
 274.130 -       x="91.428574"
 274.131 -       y="250.47656" />
 274.132 -    <text
 274.133 -       xml:space="preserve"
 274.134 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.135 -       x="116.09886"
 274.136 -       y="264.56592"
 274.137 -       id="text1965"
 274.138 -       transform="scale(1.000002,0.999998)"><tspan
 274.139 -         sodipodi:role="line"
 274.140 -         id="tspan1967"
 274.141 -         x="116.09886"
 274.142 -         y="264.56592"
 274.143 -         style="font-family:Courier"><tspan
 274.144 -   style="font-weight:bold"
 274.145 -   id="tspan1973">5</tspan>: REV_my_new_hello</tspan></text>
 274.146 -    <path
 274.147 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 274.148 -       d="M 173.95727,296.76228 L 149.75702,272.19085"
 274.149 -       id="path1971"
 274.150 -       inkscape:connector-type="polyline"
 274.151 -       inkscape:connection-end="#rect2863"
 274.152 -       inkscape:connection-start="#rect2830" />
 274.153 -    <rect
 274.154 -       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.155 -       id="rect2911"
 274.156 -       width="94.285995"
 274.157 -       height="20.714283"
 274.158 -       x="186.71414"
 274.159 -       y="204.40514" />
 274.160 -    <text
 274.161 -       xml:space="preserve"
 274.162 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.163 -       x="210.81311"
 274.164 -       y="218.02673"
 274.165 -       id="text2913"
 274.166 -       transform="scale(1.000002,0.999998)"><tspan
 274.167 -         sodipodi:role="line"
 274.168 -         id="tspan2915"
 274.169 -         x="210.81311"
 274.170 -         y="218.02673"
 274.171 -         style="font-family:Courier"><tspan
 274.172 -   id="tspan1966"
 274.173 -   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 274.174 -    <path
 274.175 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 274.176 -       d="M 191.06908,296.76228 L 227.93092,226.11942"
 274.177 -       id="path2919"
 274.178 -       inkscape:connector-type="polyline"
 274.179 -       inkscape:connection-start="#rect2830" />
 274.180 -    <text
 274.181 -       xml:space="preserve"
 274.182 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.183 -       x="295.28571"
 274.184 -       y="217.56711"
 274.185 -       id="text2871"><tspan
 274.186 -         sodipodi:role="line"
 274.187 -         id="tspan2873"
 274.188 -         x="295.28571"
 274.189 -         y="217.56711">tip (and head)</tspan></text>
 274.190 -    <text
 274.191 -       xml:space="preserve"
 274.192 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.193 -       x="76"
 274.194 -       y="264.91769"
 274.195 -       id="text2875"><tspan
 274.196 -         sodipodi:role="line"
 274.197 -         id="tspan2877"
 274.198 -         x="76"
 274.199 -         y="264.91769"
 274.200 -         style="text-align:end;text-anchor:end">head</tspan></text>
 274.201 -    <rect
 274.202 -       style="fill:#c8aaa5;fill-opacity:1;stroke:#a07163;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:2, 4;stroke-dashoffset:0;stroke-opacity:1"
 274.203 -       id="rect1913"
 274.204 -       width="94.285713"
 274.205 -       height="20.714285"
 274.206 -       x="138"
 274.207 -       y="156.90514" />
 274.208 -    <path
 274.209 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
 274.210 -       d="M 144.22399,249.47657 L 179.49029,178.61943"
 274.211 -       id="path1915"
 274.212 -       inkscape:connector-type="polyline"
 274.213 -       inkscape:connection-start="#rect2863"
 274.214 -       inkscape:connection-end="#rect1913" />
 274.215 -    <path
 274.216 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
 274.217 -       d="M 222.20966,203.40514 L 196.79033,178.61943"
 274.218 -       id="path1917"
 274.219 -       inkscape:connector-type="polyline"
 274.220 -       inkscape:connection-start="#rect2911"
 274.221 -       inkscape:connection-end="#rect1913" />
 274.222 -    <text
 274.223 -       xml:space="preserve"
 274.224 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.225 -       x="166.16823"
 274.226 -       y="168.52228"
 274.227 -       id="text2806"><tspan
 274.228 -         sodipodi:role="line"
 274.229 -         id="tspan2808"
 274.230 -         x="166.16823"
 274.231 -         y="168.52228"
 274.232 -         style="font-family:Courier">merge</tspan></text>
 274.233 -    <text
 274.234 -       xml:space="preserve"
 274.235 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.236 -       x="246"
 274.237 -       y="162.63338"
 274.238 -       id="text2810"><tspan
 274.239 -         sodipodi:role="line"
 274.240 -         id="tspan2812"
 274.241 -         x="246"
 274.242 -         y="162.63338">working directory</tspan><tspan
 274.243 -         sodipodi:role="line"
 274.244 -         x="246"
 274.245 -         y="177.63338"
 274.246 -         id="tspan2814">during merge</tspan></text>
 274.247 -    <rect
 274.248 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.249 -       id="rect2816"
 274.250 -       width="94.285713"
 274.251 -       height="20.714285"
 274.252 -       x="483.14636"
 274.253 -       y="297.76227" />
 274.254 -    <text
 274.255 -       xml:space="preserve"
 274.256 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.257 -       x="507.24527"
 274.258 -       y="311.38342"
 274.259 -       id="text2818"><tspan
 274.260 -         sodipodi:role="line"
 274.261 -         id="tspan2820"
 274.262 -         x="507.24527"
 274.263 -         y="311.38342"
 274.264 -         style="font-family:Courier"><tspan
 274.265 -   style="font-weight:bold"
 274.266 -   id="tspan2822">4</tspan>: REV4</tspan></text>
 274.267 -    <path
 274.268 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 274.269 -       d="M 530.28921,343.6373 L 530.28921,319.47655"
 274.270 -       id="path2824"
 274.271 -       inkscape:connector-type="polyline" />
 274.272 -    <rect
 274.273 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.274 -       id="rect2826"
 274.275 -       width="94.285713"
 274.276 -       height="20.714285"
 274.277 -       x="436.57492"
 274.278 -       y="250.47656" />
 274.279 -    <text
 274.280 -       xml:space="preserve"
 274.281 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.282 -       x="461.24484"
 274.283 -       y="264.56613"
 274.284 -       id="text2828"
 274.285 -       transform="scale(1.000002,0.999998)"><tspan
 274.286 -         sodipodi:role="line"
 274.287 -         id="tspan2830"
 274.288 -         x="461.24484"
 274.289 -         y="264.56613"
 274.290 -         style="font-family:Courier"><tspan
 274.291 -   style="font-weight:bold"
 274.292 -   id="tspan2832">5</tspan>: REV_my_new_hello</tspan></text>
 274.293 -    <path
 274.294 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 274.295 -       d="M 519.10362,296.76227 L 494.90337,272.19084"
 274.296 -       id="path2834"
 274.297 -       inkscape:connector-type="polyline" />
 274.298 -    <rect
 274.299 -       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 274.300 -       id="rect2836"
 274.301 -       width="94.285995"
 274.302 -       height="20.714283"
 274.303 -       x="483.14001"
 274.304 -       y="156.548" />
 274.305 -    <text
 274.306 -       xml:space="preserve"
 274.307 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 274.308 -       x="555.95911"
 274.309 -       y="218.02698"
 274.310 -       id="text2838"
 274.311 -       transform="scale(1.000002,0.999998)"><tspan
 274.312 -         sodipodi:role="line"
 274.313 -         id="tspan2840"
 274.314 -         x="555.95911"
 274.315 -         y="218.02698"
 274.316 -         style="font-family:Courier"><tspan
 274.317 -   id="tspan2842"
 274.318 -   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 274.319 -    <path
 274.320 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 274.321 -       d="M 536.21543,296.76227 L 574.03453,224.76218"
 274.322 -       id="path2844"
 274.323 -       inkscape:connector-type="polyline" />
 274.324 -    <text
 274.325 -       xml:space="preserve"
 274.326 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.327 -       x="594.43207"
 274.328 -       y="169.78796"
 274.329 -       id="text2846"><tspan
 274.330 -         sodipodi:role="line"
 274.331 -         id="tspan2848"
 274.332 -         x="594.43207"
 274.333 -         y="169.78796">tip</tspan></text>
 274.334 -    <path
 274.335 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
 274.336 -       d="M 489.37034,249.47656 L 524.65575,178.26229"
 274.337 -       id="path2856"
 274.338 -       inkscape:connector-type="polyline"
 274.339 -       inkscape:connection-end="#rect2836" />
 274.340 -    <path
 274.341 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
 274.342 -       d="M 567.85714,202.0479 L 542.42591,178.26229"
 274.343 -       id="path2858"
 274.344 -       inkscape:connector-type="polyline"
 274.345 -       inkscape:connection-end="#rect2836"
 274.346 -       inkscape:connection-start="#rect2995" />
 274.347 -    <text
 274.348 -       xml:space="preserve"
 274.349 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.350 -       x="504.54507"
 274.351 -       y="170.39714"
 274.352 -       id="text2860"><tspan
 274.353 -         sodipodi:role="line"
 274.354 -         id="tspan2863"
 274.355 -         x="504.54507"
 274.356 -         y="170.39714"
 274.357 -         style="font-family:Courier"><tspan
 274.358 -   style="font-weight:bold"
 274.359 -   id="tspan2997">7</tspan>: REV7_my_new_hello</tspan></text>
 274.360 -    <text
 274.361 -       xml:space="preserve"
 274.362 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.363 -       x="90.323105"
 274.364 -       y="120.21933"
 274.365 -       id="text2929"><tspan
 274.366 -         sodipodi:role="line"
 274.367 -         id="tspan2931"
 274.368 -         x="90.323105"
 274.369 -         y="120.21933"
 274.370 -         style="font-weight:bold">Working directory during merge</tspan></text>
 274.371 -    <text
 274.372 -       xml:space="preserve"
 274.373 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 274.374 -       x="435.35226"
 274.375 -       y="120.21933"
 274.376 -       id="text2937"><tspan
 274.377 -         sodipodi:role="line"
 274.378 -         id="tspan2939"
 274.379 -         x="435.35226"
 274.380 -         y="120.21933"
 274.381 -         style="font-weight:bold">Repository after merge committed</tspan></text>
 274.382 -  </g>
 274.383 -</svg>
   275.1 --- a/en/images/tour-merge-pull.svg	Fri Mar 20 17:17:55 2009 +0800
   275.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   275.3 @@ -1,288 +0,0 @@
   275.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   275.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   275.6 -<svg
   275.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   275.8 -   xmlns:cc="http://web.resource.org/cc/"
   275.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  275.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  275.11 -   xmlns="http://www.w3.org/2000/svg"
  275.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  275.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  275.14 -   width="744.09448819"
  275.15 -   height="1052.3622047"
  275.16 -   id="svg2"
  275.17 -   sodipodi:version="0.32"
  275.18 -   inkscape:version="0.44.1"
  275.19 -   sodipodi:docname="tour-merge-pull.svg"
  275.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en">
  275.21 -  <defs
  275.22 -     id="defs4">
  275.23 -    <marker
  275.24 -       inkscape:stockid="Arrow1Mstart"
  275.25 -       orient="auto"
  275.26 -       refY="0.0"
  275.27 -       refX="0.0"
  275.28 -       id="Arrow1Mstart"
  275.29 -       style="overflow:visible">
  275.30 -      <path
  275.31 -         id="path2973"
  275.32 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  275.33 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  275.34 -         transform="scale(0.4) translate(10,0)" />
  275.35 -    </marker>
  275.36 -    <marker
  275.37 -       inkscape:stockid="Arrow1Mend"
  275.38 -       orient="auto"
  275.39 -       refY="0.0"
  275.40 -       refX="0.0"
  275.41 -       id="Arrow1Mend"
  275.42 -       style="overflow:visible;">
  275.43 -      <path
  275.44 -         id="path3066"
  275.45 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  275.46 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  275.47 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  275.48 -    </marker>
  275.49 -  </defs>
  275.50 -  <sodipodi:namedview
  275.51 -     id="base"
  275.52 -     pagecolor="#ffffff"
  275.53 -     bordercolor="#666666"
  275.54 -     borderopacity="1.0"
  275.55 -     gridtolerance="10000"
  275.56 -     guidetolerance="10"
  275.57 -     objecttolerance="10"
  275.58 -     inkscape:pageopacity="0.0"
  275.59 -     inkscape:pageshadow="2"
  275.60 -     inkscape:zoom="1.4"
  275.61 -     inkscape:cx="233.63208"
  275.62 -     inkscape:cy="832.54381"
  275.63 -     inkscape:document-units="px"
  275.64 -     inkscape:current-layer="layer1"
  275.65 -     inkscape:window-width="906"
  275.66 -     inkscape:window-height="620"
  275.67 -     inkscape:window-x="237"
  275.68 -     inkscape:window-y="103" />
  275.69 -  <metadata
  275.70 -     id="metadata7">
  275.71 -    <rdf:RDF>
  275.72 -      <cc:Work
  275.73 -         rdf:about="">
  275.74 -        <dc:format>image/svg+xml</dc:format>
  275.75 -        <dc:type
  275.76 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  275.77 -      </cc:Work>
  275.78 -    </rdf:RDF>
  275.79 -  </metadata>
  275.80 -  <g
  275.81 -     inkscape:label="Layer 1"
  275.82 -     inkscape:groupmode="layer"
  275.83 -     id="layer1">
  275.84 -    <text
  275.85 -       xml:space="preserve"
  275.86 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  275.87 -       x="173.57143"
  275.88 -       y="443.79074"
  275.89 -       id="text2832"><tspan
  275.90 -         sodipodi:role="line"
  275.91 -         id="tspan2834"
  275.92 -         x="173.57143"
  275.93 -         y="443.79074" /></text>
  275.94 -    <rect
  275.95 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  275.96 -       id="rect1878"
  275.97 -       width="94.285713"
  275.98 -       height="20.714285"
  275.99 -       x="138"
 275.100 -       y="479.50504" />
 275.101 -    <text
 275.102 -       xml:space="preserve"
 275.103 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.104 -       x="162.09892"
 275.105 -       y="493.12619"
 275.106 -       id="text1872"><tspan
 275.107 -         sodipodi:role="line"
 275.108 -         id="tspan1874"
 275.109 -         x="162.09892"
 275.110 -         y="493.12619"
 275.111 -         style="font-family:Courier"><tspan
 275.112 -   style="font-weight:bold"
 275.113 -   id="tspan1876">0</tspan>: REV0</tspan></text>
 275.114 -    <rect
 275.115 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.116 -       id="rect2800"
 275.117 -       width="94.285713"
 275.118 -       height="20.714285"
 275.119 -       x="138"
 275.120 -       y="432.63004" />
 275.121 -    <text
 275.122 -       xml:space="preserve"
 275.123 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.124 -       x="162.09892"
 275.125 -       y="446.25119"
 275.126 -       id="text2794"><tspan
 275.127 -         sodipodi:role="line"
 275.128 -         id="tspan2796"
 275.129 -         x="162.09892"
 275.130 -         y="446.25119"
 275.131 -         style="font-family:Courier"><tspan
 275.132 -   id="tspan2868"
 275.133 -   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 275.134 -    <rect
 275.135 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.136 -       id="rect2810"
 275.137 -       width="94.285713"
 275.138 -       height="20.714285"
 275.139 -       x="138"
 275.140 -       y="385.75504" />
 275.141 -    <text
 275.142 -       xml:space="preserve"
 275.143 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.144 -       x="162.09892"
 275.145 -       y="399.37619"
 275.146 -       id="text2804"><tspan
 275.147 -         sodipodi:role="line"
 275.148 -         id="tspan2806"
 275.149 -         x="162.09892"
 275.150 -         y="399.37619"
 275.151 -         style="font-family:Courier"><tspan
 275.152 -   style="font-weight:bold"
 275.153 -   id="tspan2866">2</tspan>: REV2</tspan></text>
 275.154 -    <rect
 275.155 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.156 -       id="rect2820"
 275.157 -       width="94.285713"
 275.158 -       height="20.714285"
 275.159 -       x="138"
 275.160 -       y="338.88007" />
 275.161 -    <text
 275.162 -       xml:space="preserve"
 275.163 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.164 -       x="162.09892"
 275.165 -       y="352.50122"
 275.166 -       id="text2814"><tspan
 275.167 -         sodipodi:role="line"
 275.168 -         id="tspan2816"
 275.169 -         x="162.09892"
 275.170 -         y="352.50122"
 275.171 -         style="font-family:Courier"><tspan
 275.172 -   style="font-weight:bold"
 275.173 -   id="tspan2864">3</tspan>: REV3</tspan></text>
 275.174 -    <rect
 275.175 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.176 -       id="rect2830"
 275.177 -       width="94.285713"
 275.178 -       height="20.714285"
 275.179 -       x="138"
 275.180 -       y="292.00504" />
 275.181 -    <text
 275.182 -       xml:space="preserve"
 275.183 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.184 -       x="162.09892"
 275.185 -       y="305.62619"
 275.186 -       id="text2824"><tspan
 275.187 -         sodipodi:role="line"
 275.188 -         id="tspan2826"
 275.189 -         x="162.09892"
 275.190 -         y="305.62619"
 275.191 -         style="font-family:Courier"><tspan
 275.192 -   style="font-weight:bold"
 275.193 -   id="tspan2862">4</tspan>: REV4</tspan></text>
 275.194 -    <path
 275.195 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 275.196 -       d="M 185.14286,478.50504 L 185.14286,454.34432"
 275.197 -       id="path2894"
 275.198 -       inkscape:connector-type="polyline" />
 275.199 -    <path
 275.200 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 275.201 -       d="M 185.14286,431.63004 L 185.14286,407.46932"
 275.202 -       id="path2896"
 275.203 -       inkscape:connector-type="polyline" />
 275.204 -    <path
 275.205 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 275.206 -       d="M 185.14286,384.75504 L 185.14286,360.59435"
 275.207 -       id="path2898"
 275.208 -       inkscape:connector-type="polyline" />
 275.209 -    <path
 275.210 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 275.211 -       d="M 185.14286,337.88007 L 185.14286,313.71932"
 275.212 -       id="path2900"
 275.213 -       inkscape:connector-type="polyline" />
 275.214 -    <rect
 275.215 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.216 -       id="rect2863"
 275.217 -       width="94.285713"
 275.218 -       height="20.714285"
 275.219 -       x="91.428574"
 275.220 -       y="244.71933" />
 275.221 -    <text
 275.222 -       xml:space="preserve"
 275.223 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.224 -       x="116.09886"
 275.225 -       y="258.80865"
 275.226 -       id="text1965"
 275.227 -       transform="scale(1.000002,0.999998)"><tspan
 275.228 -         sodipodi:role="line"
 275.229 -         id="tspan1967"
 275.230 -         x="116.09886"
 275.231 -         y="258.80865"
 275.232 -         style="font-family:Courier"><tspan
 275.233 -   style="font-weight:bold"
 275.234 -   id="tspan1973">5</tspan>: REV_my_new_hello</tspan></text>
 275.235 -    <path
 275.236 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 275.237 -       d="M 173.95727,291.00504 L 149.75702,266.43361"
 275.238 -       id="path1971"
 275.239 -       inkscape:connector-type="polyline"
 275.240 -       inkscape:connection-end="#rect2863"
 275.241 -       inkscape:connection-start="#rect2830" />
 275.242 -    <rect
 275.243 -       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 275.244 -       id="rect2911"
 275.245 -       width="94.285995"
 275.246 -       height="20.714283"
 275.247 -       x="186.71414"
 275.248 -       y="198.6479" />
 275.249 -    <text
 275.250 -       xml:space="preserve"
 275.251 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 275.252 -       x="210.81311"
 275.253 -       y="212.26949"
 275.254 -       id="text2913"
 275.255 -       transform="scale(1.000002,0.999998)"><tspan
 275.256 -         sodipodi:role="line"
 275.257 -         id="tspan2915"
 275.258 -         x="210.81311"
 275.259 -         y="212.26949"
 275.260 -         style="font-family:Courier"><tspan
 275.261 -   id="tspan1966"
 275.262 -   style="font-weight:bold">6</tspan>: REV6_my_new_hello</tspan></text>
 275.263 -    <path
 275.264 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 275.265 -       d="M 191.06908,291.00504 L 227.93092,220.36218"
 275.266 -       id="path2919"
 275.267 -       inkscape:connector-type="polyline"
 275.268 -       inkscape:connection-start="#rect2830" />
 275.269 -    <text
 275.270 -       xml:space="preserve"
 275.271 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 275.272 -       x="295.28571"
 275.273 -       y="211.80988"
 275.274 -       id="text2871"><tspan
 275.275 -         sodipodi:role="line"
 275.276 -         id="tspan2873"
 275.277 -         x="295.28571"
 275.278 -         y="211.80988">tip (and head)</tspan></text>
 275.279 -    <text
 275.280 -       xml:space="preserve"
 275.281 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 275.282 -       x="76"
 275.283 -       y="259.16046"
 275.284 -       id="text2875"><tspan
 275.285 -         sodipodi:role="line"
 275.286 -         id="tspan2877"
 275.287 -         x="76"
 275.288 -         y="259.16046"
 275.289 -         style="text-align:end;text-anchor:end">head</tspan></text>
 275.290 -  </g>
 275.291 -</svg>
   276.1 --- a/en/images/tour-merge-sep-repos.svg	Fri Mar 20 17:17:55 2009 +0800
   276.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   276.3 @@ -1,466 +0,0 @@
   276.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   276.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   276.6 -<svg
   276.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   276.8 -   xmlns:cc="http://web.resource.org/cc/"
   276.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  276.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  276.11 -   xmlns="http://www.w3.org/2000/svg"
  276.12 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  276.13 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  276.14 -   width="744.09448819"
  276.15 -   height="1052.3622047"
  276.16 -   id="svg2"
  276.17 -   sodipodi:version="0.32"
  276.18 -   inkscape:version="0.44.1"
  276.19 -   sodipodi:docname="tour-merge-sep-repos.svg">
  276.20 -  <defs
  276.21 -     id="defs4">
  276.22 -    <marker
  276.23 -       inkscape:stockid="Arrow1Mstart"
  276.24 -       orient="auto"
  276.25 -       refY="0.0"
  276.26 -       refX="0.0"
  276.27 -       id="Arrow1Mstart"
  276.28 -       style="overflow:visible">
  276.29 -      <path
  276.30 -         id="path2973"
  276.31 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  276.32 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  276.33 -         transform="scale(0.4) translate(10,0)" />
  276.34 -    </marker>
  276.35 -    <marker
  276.36 -       inkscape:stockid="Arrow1Mend"
  276.37 -       orient="auto"
  276.38 -       refY="0.0"
  276.39 -       refX="0.0"
  276.40 -       id="Arrow1Mend"
  276.41 -       style="overflow:visible;">
  276.42 -      <path
  276.43 -         id="path3066"
  276.44 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  276.45 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  276.46 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  276.47 -    </marker>
  276.48 -  </defs>
  276.49 -  <sodipodi:namedview
  276.50 -     id="base"
  276.51 -     pagecolor="#ffffff"
  276.52 -     bordercolor="#666666"
  276.53 -     borderopacity="1.0"
  276.54 -     gridtolerance="10000"
  276.55 -     guidetolerance="10"
  276.56 -     objecttolerance="10"
  276.57 -     inkscape:pageopacity="0.0"
  276.58 -     inkscape:pageshadow="2"
  276.59 -     inkscape:zoom="1.4"
  276.60 -     inkscape:cx="307.20351"
  276.61 -     inkscape:cy="716.87911"
  276.62 -     inkscape:document-units="px"
  276.63 -     inkscape:current-layer="layer1"
  276.64 -     inkscape:window-width="906"
  276.65 -     inkscape:window-height="620"
  276.66 -     inkscape:window-x="5"
  276.67 -     inkscape:window-y="49" />
  276.68 -  <metadata
  276.69 -     id="metadata7">
  276.70 -    <rdf:RDF>
  276.71 -      <cc:Work
  276.72 -         rdf:about="">
  276.73 -        <dc:format>image/svg+xml</dc:format>
  276.74 -        <dc:type
  276.75 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  276.76 -      </cc:Work>
  276.77 -    </rdf:RDF>
  276.78 -  </metadata>
  276.79 -  <g
  276.80 -     inkscape:label="Layer 1"
  276.81 -     inkscape:groupmode="layer"
  276.82 -     id="layer1">
  276.83 -    <text
  276.84 -       xml:space="preserve"
  276.85 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
  276.86 -       x="173.57143"
  276.87 -       y="443.79074"
  276.88 -       id="text2832"><tspan
  276.89 -         sodipodi:role="line"
  276.90 -         id="tspan2834"
  276.91 -         x="173.57143"
  276.92 -         y="443.79074" /></text>
  276.93 -    <rect
  276.94 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  276.95 -       id="rect1878"
  276.96 -       width="94.285713"
  276.97 -       height="20.714285"
  276.98 -       x="138"
  276.99 -       y="479.50504" />
 276.100 -    <text
 276.101 -       xml:space="preserve"
 276.102 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.103 -       x="162.09892"
 276.104 -       y="493.12619"
 276.105 -       id="text1872"><tspan
 276.106 -         sodipodi:role="line"
 276.107 -         id="tspan1874"
 276.108 -         x="162.09892"
 276.109 -         y="493.12619"
 276.110 -         style="font-family:Courier"><tspan
 276.111 -   style="font-weight:bold"
 276.112 -   id="tspan1876">0</tspan>: REV0</tspan></text>
 276.113 -    <rect
 276.114 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.115 -       id="rect2800"
 276.116 -       width="94.285713"
 276.117 -       height="20.714285"
 276.118 -       x="138"
 276.119 -       y="432.63004" />
 276.120 -    <text
 276.121 -       xml:space="preserve"
 276.122 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.123 -       x="162.09892"
 276.124 -       y="446.25119"
 276.125 -       id="text2794"><tspan
 276.126 -         sodipodi:role="line"
 276.127 -         id="tspan2796"
 276.128 -         x="162.09892"
 276.129 -         y="446.25119"
 276.130 -         style="font-family:Courier"><tspan
 276.131 -   id="tspan2868"
 276.132 -   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 276.133 -    <rect
 276.134 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.135 -       id="rect2810"
 276.136 -       width="94.285713"
 276.137 -       height="20.714285"
 276.138 -       x="138"
 276.139 -       y="385.75504" />
 276.140 -    <text
 276.141 -       xml:space="preserve"
 276.142 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.143 -       x="162.09892"
 276.144 -       y="399.37619"
 276.145 -       id="text2804"><tspan
 276.146 -         sodipodi:role="line"
 276.147 -         id="tspan2806"
 276.148 -         x="162.09892"
 276.149 -         y="399.37619"
 276.150 -         style="font-family:Courier"><tspan
 276.151 -   style="font-weight:bold"
 276.152 -   id="tspan2866">2</tspan>: REV2</tspan></text>
 276.153 -    <rect
 276.154 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.155 -       id="rect2820"
 276.156 -       width="94.285713"
 276.157 -       height="20.714285"
 276.158 -       x="138"
 276.159 -       y="338.88007" />
 276.160 -    <text
 276.161 -       xml:space="preserve"
 276.162 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.163 -       x="162.09892"
 276.164 -       y="352.50122"
 276.165 -       id="text2814"><tspan
 276.166 -         sodipodi:role="line"
 276.167 -         id="tspan2816"
 276.168 -         x="162.09892"
 276.169 -         y="352.50122"
 276.170 -         style="font-family:Courier"><tspan
 276.171 -   style="font-weight:bold"
 276.172 -   id="tspan2864">3</tspan>: REV3</tspan></text>
 276.173 -    <rect
 276.174 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.175 -       id="rect2830"
 276.176 -       width="94.285713"
 276.177 -       height="20.714285"
 276.178 -       x="138"
 276.179 -       y="292.00504" />
 276.180 -    <text
 276.181 -       xml:space="preserve"
 276.182 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.183 -       x="162.09892"
 276.184 -       y="305.62619"
 276.185 -       id="text2824"><tspan
 276.186 -         sodipodi:role="line"
 276.187 -         id="tspan2826"
 276.188 -         x="162.09892"
 276.189 -         y="305.62619"
 276.190 -         style="font-family:Courier"><tspan
 276.191 -   style="font-weight:bold"
 276.192 -   id="tspan2862">4</tspan>: REV4</tspan></text>
 276.193 -    <path
 276.194 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.195 -       d="M 185.14286,478.50504 L 185.14286,454.34432"
 276.196 -       id="path2894"
 276.197 -       inkscape:connector-type="polyline" />
 276.198 -    <path
 276.199 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.200 -       d="M 185.14286,431.63004 L 185.14286,407.46932"
 276.201 -       id="path2896"
 276.202 -       inkscape:connector-type="polyline" />
 276.203 -    <path
 276.204 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.205 -       d="M 185.14286,384.75504 L 185.14286,360.59435"
 276.206 -       id="path2898"
 276.207 -       inkscape:connector-type="polyline" />
 276.208 -    <path
 276.209 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.210 -       d="M 185.14286,337.88007 L 185.14286,313.71932"
 276.211 -       id="path2900"
 276.212 -       inkscape:connector-type="polyline" />
 276.213 -    <rect
 276.214 -       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.215 -       id="rect1963"
 276.216 -       width="94.285995"
 276.217 -       height="20.714283"
 276.218 -       x="138"
 276.219 -       y="245.18723" />
 276.220 -    <text
 276.221 -       xml:space="preserve"
 276.222 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.223 -       x="162.09877"
 276.224 -       y="258.80865"
 276.225 -       id="text1965"
 276.226 -       transform="scale(1.000002,0.999998)"><tspan
 276.227 -         sodipodi:role="line"
 276.228 -         id="tspan1967"
 276.229 -         x="162.09877"
 276.230 -         y="258.80865"
 276.231 -         style="font-family:Courier"><tspan
 276.232 -   style="font-weight:bold"
 276.233 -   id="tspan1973">5</tspan>: REV_my_hello</tspan></text>
 276.234 -    <path
 276.235 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.236 -       d="M 185.143,291.06218 L 185.143,266.90143"
 276.237 -       id="path1971"
 276.238 -       inkscape:connector-type="polyline" />
 276.239 -    <text
 276.240 -       xml:space="preserve"
 276.241 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 276.242 -       x="136.90039"
 276.243 -       y="232.25546"
 276.244 -       id="text2921"><tspan
 276.245 -         sodipodi:role="line"
 276.246 -         id="tspan2923"
 276.247 -         x="136.90039"
 276.248 -         y="232.25546">my-hello</tspan></text>
 276.249 -    <rect
 276.250 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.251 -       id="rect2863"
 276.252 -       width="94.285713"
 276.253 -       height="20.714285"
 276.254 -       x="370.71414"
 276.255 -       y="479.49289" />
 276.256 -    <text
 276.257 -       xml:space="preserve"
 276.258 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.259 -       x="394.81305"
 276.260 -       y="493.11404"
 276.261 -       id="text2865"><tspan
 276.262 -         sodipodi:role="line"
 276.263 -         id="tspan2867"
 276.264 -         x="394.81305"
 276.265 -         y="493.11404"
 276.266 -         style="font-family:Courier"><tspan
 276.267 -   style="font-weight:bold"
 276.268 -   id="tspan2869">0</tspan>: REV0</tspan></text>
 276.269 -    <rect
 276.270 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.271 -       id="rect2871"
 276.272 -       width="94.285713"
 276.273 -       height="20.714285"
 276.274 -       x="370.71414"
 276.275 -       y="432.61789" />
 276.276 -    <text
 276.277 -       xml:space="preserve"
 276.278 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.279 -       x="394.81305"
 276.280 -       y="446.23904"
 276.281 -       id="text2873"><tspan
 276.282 -         sodipodi:role="line"
 276.283 -         id="tspan2875"
 276.284 -         x="394.81305"
 276.285 -         y="446.23904"
 276.286 -         style="font-family:Courier"><tspan
 276.287 -   id="tspan2877"
 276.288 -   style="font-weight:bold">1</tspan>: REV1</tspan></text>
 276.289 -    <rect
 276.290 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.291 -       id="rect2879"
 276.292 -       width="94.285713"
 276.293 -       height="20.714285"
 276.294 -       x="370.71414"
 276.295 -       y="385.74289" />
 276.296 -    <text
 276.297 -       xml:space="preserve"
 276.298 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.299 -       x="394.81305"
 276.300 -       y="399.36404"
 276.301 -       id="text2881"><tspan
 276.302 -         sodipodi:role="line"
 276.303 -         id="tspan2883"
 276.304 -         x="394.81305"
 276.305 -         y="399.36404"
 276.306 -         style="font-family:Courier"><tspan
 276.307 -   style="font-weight:bold"
 276.308 -   id="tspan2885">2</tspan>: REV2</tspan></text>
 276.309 -    <rect
 276.310 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.311 -       id="rect2887"
 276.312 -       width="94.285713"
 276.313 -       height="20.714285"
 276.314 -       x="370.71414"
 276.315 -       y="338.86792" />
 276.316 -    <text
 276.317 -       xml:space="preserve"
 276.318 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.319 -       x="394.81305"
 276.320 -       y="352.48907"
 276.321 -       id="text2889"><tspan
 276.322 -         sodipodi:role="line"
 276.323 -         id="tspan2891"
 276.324 -         x="394.81305"
 276.325 -         y="352.48907"
 276.326 -         style="font-family:Courier"><tspan
 276.327 -   style="font-weight:bold"
 276.328 -   id="tspan2893">3</tspan>: REV3</tspan></text>
 276.329 -    <rect
 276.330 -       style="fill:#a5c3c8;fill-opacity:1;stroke:#6396a0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.331 -       id="rect2895"
 276.332 -       width="94.285713"
 276.333 -       height="20.714285"
 276.334 -       x="370.71414"
 276.335 -       y="291.99289" />
 276.336 -    <text
 276.337 -       xml:space="preserve"
 276.338 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.339 -       x="394.81305"
 276.340 -       y="305.61404"
 276.341 -       id="text2897"><tspan
 276.342 -         sodipodi:role="line"
 276.343 -         id="tspan2899"
 276.344 -         x="394.81305"
 276.345 -         y="305.61404"
 276.346 -         style="font-family:Courier"><tspan
 276.347 -   style="font-weight:bold"
 276.348 -   id="tspan2901">4</tspan>: REV4</tspan></text>
 276.349 -    <path
 276.350 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.351 -       d="M 417.85701,478.4929 L 417.85701,454.33218"
 276.352 -       id="path2903"
 276.353 -       inkscape:connector-type="polyline" />
 276.354 -    <path
 276.355 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.356 -       d="M 417.85701,431.6179 L 417.85701,407.45718"
 276.357 -       id="path2905"
 276.358 -       inkscape:connector-type="polyline" />
 276.359 -    <path
 276.360 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.361 -       d="M 417.85701,384.7429 L 417.85701,360.58221"
 276.362 -       id="path2907"
 276.363 -       inkscape:connector-type="polyline" />
 276.364 -    <path
 276.365 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.366 -       d="M 417.85701,337.86793 L 417.85701,313.70718"
 276.367 -       id="path2909"
 276.368 -       inkscape:connector-type="polyline" />
 276.369 -    <rect
 276.370 -       style="fill:#78a5ad;fill-opacity:1;stroke:#507b84;stroke-width:2.00000286;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.371 -       id="rect2911"
 276.372 -       width="94.285995"
 276.373 -       height="20.714283"
 276.374 -       x="370.71414"
 276.375 -       y="245.17511" />
 276.376 -    <text
 276.377 -       xml:space="preserve"
 276.378 -       style="font-size:12.00001812px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier"
 276.379 -       x="394.81274"
 276.380 -       y="258.79678"
 276.381 -       id="text2913"
 276.382 -       transform="scale(1.000002,0.999998)"><tspan
 276.383 -         sodipodi:role="line"
 276.384 -         id="tspan2915"
 276.385 -         x="394.81274"
 276.386 -         y="258.79678"
 276.387 -         style="font-family:Courier"><tspan
 276.388 -   style="font-weight:bold"
 276.389 -   id="tspan2917">5</tspan>: REV_my_new_hello</tspan></text>
 276.390 -    <path
 276.391 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000143px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 276.392 -       d="M 417.85715,291.05004 L 417.85715,266.88929"
 276.393 -       id="path2919"
 276.394 -       inkscape:connector-type="polyline" />
 276.395 -    <text
 276.396 -       xml:space="preserve"
 276.397 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 276.398 -       x="369.61453"
 276.399 -       y="232.25546"
 276.400 -       id="text2925"><tspan
 276.401 -         sodipodi:role="line"
 276.402 -         id="tspan2927"
 276.403 -         x="369.61453"
 276.404 -         y="232.25546">my-new-hello</tspan></text>
 276.405 -    <text
 276.406 -       xml:space="preserve"
 276.407 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 276.408 -       x="300.54352"
 276.409 -       y="252.12723"
 276.410 -       id="text2933"><tspan
 276.411 -         sodipodi:role="line"
 276.412 -         id="tspan2935"
 276.413 -         x="300.54352"
 276.414 -         y="252.12723"
 276.415 -         style="text-align:center;text-anchor:middle">newest changes</tspan><tspan
 276.416 -         sodipodi:role="line"
 276.417 -         x="300.54352"
 276.418 -         y="267.12723"
 276.419 -         style="text-align:center;text-anchor:middle"
 276.420 -         id="tspan3132">differ</tspan></text>
 276.421 -    <text
 276.422 -       xml:space="preserve"
 276.423 -       style="font-size:12px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 276.424 -       x="262.15436"
 276.425 -       y="398.37112"
 276.426 -       id="text2929"><tspan
 276.427 -         sodipodi:role="line"
 276.428 -         x="262.15436"
 276.429 -         y="398.37112"
 276.430 -         id="tspan3013"
 276.431 -         style="text-align:start;text-anchor:start">common history</tspan></text>
 276.432 -    <g
 276.433 -       id="g3107"
 276.434 -       transform="translate(0,0.855744)">
 276.435 -      <path
 276.436 -         id="path3101"
 276.437 -         d="M 300.35713,381.29075 L 300.35713,304.50504"
 276.438 -         style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1" />
 276.439 -      <path
 276.440 -         id="path3105"
 276.441 -         d="M 291.07142,301.64789 L 309.28571,301.64789"
 276.442 -         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#bfbfbf;stroke-width:0.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
 276.443 -    </g>
 276.444 -    <path
 276.445 -       style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
 276.446 -       d="M 300.53571,486.38926 L 300.53571,409.60355"
 276.447 -       id="path3113" />
 276.448 -    <path
 276.449 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#bfbfbf;stroke-width:0.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 276.450 -       d="M 291.25,488.49641 L 309.46429,488.49641"
 276.451 -       id="path3115" />
 276.452 -    <text
 276.453 -       xml:space="preserve"
 276.454 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 276.455 -       x="480.71429"
 276.456 -       y="250.91507"
 276.457 -       id="text1949"><tspan
 276.458 -         sodipodi:role="line"
 276.459 -         id="tspan1951"
 276.460 -         x="480.71429"
 276.461 -         y="250.91507"
 276.462 -         style="text-align:start;text-anchor:start">head revision</tspan><tspan
 276.463 -         sodipodi:role="line"
 276.464 -         x="480.71429"
 276.465 -         y="265.91507"
 276.466 -         id="tspan1953"
 276.467 -         style="text-align:start;text-anchor:start">(has no children)</tspan></text>
 276.468 -  </g>
 276.469 -</svg>
   277.1 --- a/en/images/undo-manual-merge.dot	Fri Mar 20 17:17:55 2009 +0800
   277.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   277.3 @@ -1,8 +0,0 @@
   277.4 -digraph undo_manual {
   277.5 -	"first change" -> "second change";
   277.6 -	"second change" -> "third change";
   277.7 -	backout [label="back out\nsecond change", shape=box];
   277.8 -	"second change" -> backout;
   277.9 -	"third change" -> "manual\nmerge";
  277.10 -	backout -> "manual\nmerge";
  277.11 -}
   278.1 --- a/en/images/undo-manual.dot	Fri Mar 20 17:17:55 2009 +0800
   278.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   278.3 @@ -1,6 +0,0 @@
   278.4 -digraph undo_manual {
   278.5 -	"first change" -> "second change";
   278.6 -	"second change" -> "third change";
   278.7 -	backout [label="back out\nsecond change", shape=box];
   278.8 -	"second change" -> backout;
   278.9 -}
   279.1 --- a/en/images/undo-non-tip.dot	Fri Mar 20 17:17:55 2009 +0800
   279.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   279.3 @@ -1,9 +0,0 @@
   279.4 -digraph undo_non_tip {
   279.5 -	"first change" -> "second change";
   279.6 -	"second change" -> "third change";
   279.7 -	backout [label="back out\nsecond change", shape=box];
   279.8 -	"second change" -> backout;
   279.9 -	merge [label="automated\nmerge", shape=box];
  279.10 -	"third change" -> merge;
  279.11 -	backout -> merge;
  279.12 -}
   280.1 --- a/en/images/undo-simple.dot	Fri Mar 20 17:17:55 2009 +0800
   280.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   280.3 @@ -1,4 +0,0 @@
   280.4 -digraph undo_simple {
   280.5 -	"first change" -> "second change";
   280.6 -	"second change" -> "back out\nsecond change";
   280.7 -}
   281.1 --- a/en/images/wdir-after-commit.svg	Fri Mar 20 17:17:55 2009 +0800
   281.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   281.3 @@ -1,394 +0,0 @@
   281.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   281.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   281.6 -<svg
   281.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   281.8 -   xmlns:cc="http://web.resource.org/cc/"
   281.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  281.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  281.11 -   xmlns="http://www.w3.org/2000/svg"
  281.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  281.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  281.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  281.15 -   width="744.09448819"
  281.16 -   height="1052.3622047"
  281.17 -   id="svg5971"
  281.18 -   sodipodi:version="0.32"
  281.19 -   inkscape:version="0.44.1"
  281.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  281.21 -   sodipodi:docname="wdir-after-commit.svg">
  281.22 -  <defs
  281.23 -     id="defs5973">
  281.24 -    <linearGradient
  281.25 -       inkscape:collect="always"
  281.26 -       xlink:href="#linearGradient6049"
  281.27 -       id="linearGradient6445"
  281.28 -       gradientUnits="userSpaceOnUse"
  281.29 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  281.30 -       x1="333.91171"
  281.31 -       y1="488.79077"
  281.32 -       x2="508.94543"
  281.33 -       y2="263.79077" />
  281.34 -    <marker
  281.35 -       inkscape:stockid="Arrow1Mstart"
  281.36 -       orient="auto"
  281.37 -       refY="0.0"
  281.38 -       refX="0.0"
  281.39 -       id="Arrow1Mstart"
  281.40 -       style="overflow:visible">
  281.41 -      <path
  281.42 -         id="path4855"
  281.43 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  281.44 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  281.45 -         transform="scale(0.4) translate(10,0)" />
  281.46 -    </marker>
  281.47 -    <linearGradient
  281.48 -       id="linearGradient6049">
  281.49 -      <stop
  281.50 -         style="stop-color:#686868;stop-opacity:1;"
  281.51 -         offset="0"
  281.52 -         id="stop6051" />
  281.53 -      <stop
  281.54 -         style="stop-color:#f0f0f0;stop-opacity:1;"
  281.55 -         offset="1"
  281.56 -         id="stop6053" />
  281.57 -    </linearGradient>
  281.58 -    <marker
  281.59 -       inkscape:stockid="Arrow1Mend"
  281.60 -       orient="auto"
  281.61 -       refY="0.0"
  281.62 -       refX="0.0"
  281.63 -       id="Arrow1Mend"
  281.64 -       style="overflow:visible;">
  281.65 -      <path
  281.66 -         id="path4852"
  281.67 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  281.68 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  281.69 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  281.70 -    </marker>
  281.71 -    <linearGradient
  281.72 -       inkscape:collect="always"
  281.73 -       xlink:href="#linearGradient6049"
  281.74 -       id="linearGradient6083"
  281.75 -       gradientUnits="userSpaceOnUse"
  281.76 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  281.77 -       x1="333.91171"
  281.78 -       y1="488.79077"
  281.79 -       x2="508.94543"
  281.80 -       y2="263.79077" />
  281.81 -    <linearGradient
  281.82 -       inkscape:collect="always"
  281.83 -       xlink:href="#linearGradient6049"
  281.84 -       id="linearGradient6142"
  281.85 -       gradientUnits="userSpaceOnUse"
  281.86 -       gradientTransform="translate(-42.00893,-30.49544)"
  281.87 -       x1="333.91171"
  281.88 -       y1="488.79077"
  281.89 -       x2="508.94543"
  281.90 -       y2="263.79077" />
  281.91 -    <linearGradient
  281.92 -       inkscape:collect="always"
  281.93 -       xlink:href="#linearGradient6049"
  281.94 -       id="linearGradient6193"
  281.95 -       gradientUnits="userSpaceOnUse"
  281.96 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  281.97 -       x1="333.91171"
  281.98 -       y1="488.79077"
  281.99 -       x2="508.94543"
 281.100 -       y2="263.79077" />
 281.101 -    <linearGradient
 281.102 -       inkscape:collect="always"
 281.103 -       xlink:href="#linearGradient6049"
 281.104 -       id="linearGradient6216"
 281.105 -       gradientUnits="userSpaceOnUse"
 281.106 -       gradientTransform="translate(-6.0462,-0.664361)"
 281.107 -       x1="333.91171"
 281.108 -       y1="488.79077"
 281.109 -       x2="508.94543"
 281.110 -       y2="263.79077" />
 281.111 -    <linearGradient
 281.112 -       inkscape:collect="always"
 281.113 -       xlink:href="#linearGradient6049"
 281.114 -       id="linearGradient6232"
 281.115 -       gradientUnits="userSpaceOnUse"
 281.116 -       gradientTransform="matrix(1.000474,0,0,0.790947,222.8399,50.85693)"
 281.117 -       x1="333.91171"
 281.118 -       y1="488.79077"
 281.119 -       x2="508.94543"
 281.120 -       y2="263.79077" />
 281.121 -    <linearGradient
 281.122 -       inkscape:collect="always"
 281.123 -       xlink:href="#linearGradient6049"
 281.124 -       id="linearGradient6772"
 281.125 -       gradientUnits="userSpaceOnUse"
 281.126 -       gradientTransform="matrix(1.000474,0,0,0.790947,222.8399,50.85693)"
 281.127 -       x1="333.91171"
 281.128 -       y1="488.79077"
 281.129 -       x2="508.94543"
 281.130 -       y2="263.79077" />
 281.131 -  </defs>
 281.132 -  <sodipodi:namedview
 281.133 -     id="base"
 281.134 -     pagecolor="#ffffff"
 281.135 -     bordercolor="#666666"
 281.136 -     borderopacity="1.0"
 281.137 -     gridtolerance="10000"
 281.138 -     guidetolerance="10"
 281.139 -     objecttolerance="10"
 281.140 -     inkscape:pageopacity="0.0"
 281.141 -     inkscape:pageshadow="2"
 281.142 -     inkscape:zoom="0.90509668"
 281.143 -     inkscape:cx="390.0539"
 281.144 -     inkscape:cy="690.49342"
 281.145 -     inkscape:document-units="px"
 281.146 -     inkscape:current-layer="layer1"
 281.147 -     showguides="true"
 281.148 -     inkscape:guide-bbox="true"
 281.149 -     inkscape:window-width="906"
 281.150 -     inkscape:window-height="620"
 281.151 -     inkscape:window-x="0"
 281.152 -     inkscape:window-y="25">
 281.153 -    <sodipodi:guide
 281.154 -       orientation="vertical"
 281.155 -       position="-1.4285714"
 281.156 -       id="guide6022" />
 281.157 -  </sodipodi:namedview>
 281.158 -  <metadata
 281.159 -     id="metadata5976">
 281.160 -    <rdf:RDF>
 281.161 -      <cc:Work
 281.162 -         rdf:about="">
 281.163 -        <dc:format>image/svg+xml</dc:format>
 281.164 -        <dc:type
 281.165 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 281.166 -      </cc:Work>
 281.167 -    </rdf:RDF>
 281.168 -  </metadata>
 281.169 -  <g
 281.170 -     inkscape:label="Layer 1"
 281.171 -     inkscape:groupmode="layer"
 281.172 -     id="layer1">
 281.173 -    <rect
 281.174 -       y="245.98355"
 281.175 -       x="328.23956"
 281.176 -       height="258.57144"
 281.177 -       width="174.28572"
 281.178 -       id="rect6047"
 281.179 -       style="fill:url(#linearGradient6216);fill-opacity:1;stroke:#686868;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 281.180 -    <g
 281.181 -       id="g6261"
 281.182 -       transform="translate(234,0)">
 281.183 -      <rect
 281.184 -         y="258.7149"
 281.185 -         x="114.11369"
 281.186 -         height="44.537449"
 281.187 -         width="134.53746"
 281.188 -         id="rect5983"
 281.189 -         style="fill:#b1b1b1;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 281.190 -      <text
 281.191 -         id="text5985"
 281.192 -         y="284.47562"
 281.193 -         x="138.7962"
 281.194 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.195 -         xml:space="preserve"><tspan
 281.196 -           style="font-family:Courier"
 281.197 -           y="284.47562"
 281.198 -           x="138.7962"
 281.199 -           id="tspan5987"
 281.200 -           sodipodi:role="line">dfbbb33f3fa3</tspan></text>
 281.201 -    </g>
 281.202 -    <rect
 281.203 -       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 281.204 -       id="rect5996"
 281.205 -       width="134.53746"
 281.206 -       height="44.537449"
 281.207 -       x="348.11371"
 281.208 -       y="320.38159" />
 281.209 -    <text
 281.210 -       xml:space="preserve"
 281.211 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.212 -       x="372.7962"
 281.213 -       y="346.1423"
 281.214 -       id="text5998"><tspan
 281.215 -         sodipodi:role="line"
 281.216 -         id="tspan6000"
 281.217 -         x="372.7962"
 281.218 -         y="346.1423"
 281.219 -         style="font-family:Courier">e7639888bb2f</tspan></text>
 281.220 -    <rect
 281.221 -       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 281.222 -       id="rect6004"
 281.223 -       width="134.53746"
 281.224 -       height="44.537449"
 281.225 -       x="348.11371"
 281.226 -       y="382.04825" />
 281.227 -    <text
 281.228 -       xml:space="preserve"
 281.229 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.230 -       x="370.65421"
 281.231 -       y="407.80896"
 281.232 -       id="text6006"><tspan
 281.233 -         sodipodi:role="line"
 281.234 -         id="tspan6008"
 281.235 -         x="370.65421"
 281.236 -         y="407.80896"
 281.237 -         style="font-family:Courier">7b064d8bac5e</tspan></text>
 281.238 -    <path
 281.239 -       inkscape:connector-type="polyline"
 281.240 -       id="path6018"
 281.241 -       d="M 415.38242,303.62646 L 415.38242,320.00744"
 281.242 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 281.243 -    <path
 281.244 -       inkscape:connection-end="#rect6004"
 281.245 -       inkscape:connector-type="polyline"
 281.246 -       id="path6020"
 281.247 -       d="M 415.38242,365.29315 L 415.38243,381.67412"
 281.248 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 281.249 -    <rect
 281.250 -       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 281.251 -       id="rect6039"
 281.252 -       width="134.53746"
 281.253 -       height="44.537449"
 281.254 -       x="348.11359"
 281.255 -       y="443.71487" />
 281.256 -    <text
 281.257 -       xml:space="preserve"
 281.258 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.259 -       x="372.79706"
 281.260 -       y="469.47556"
 281.261 -       id="text6041"><tspan
 281.262 -         sodipodi:role="line"
 281.263 -         id="tspan6043"
 281.264 -         x="372.79706"
 281.265 -         y="469.47556"
 281.266 -         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 281.267 -    <path
 281.268 -       inkscape:connection-end="#rect6039"
 281.269 -       inkscape:connector-type="polyline"
 281.270 -       id="path6045"
 281.271 -       d="M 415.38238,426.95981 L 415.38235,443.34087"
 281.272 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 281.273 -    <text
 281.274 -       xml:space="preserve"
 281.275 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.276 -       x="327.66046"
 281.277 -       y="231.36218"
 281.278 -       id="text6102"><tspan
 281.279 -         sodipodi:role="line"
 281.280 -         id="tspan6104"
 281.281 -         x="327.66046"
 281.282 -         y="231.36218">History in repository</tspan></text>
 281.283 -    <rect
 281.284 -       y="245.94225"
 281.285 -       x="557.28418"
 281.286 -       height="204.51619"
 281.287 -       width="174.36833"
 281.288 -       id="rect6140"
 281.289 -       style="fill:url(#linearGradient6232);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 281.290 -    <g
 281.291 -       id="g6130"
 281.292 -       transform="translate(262.3254,24.38544)">
 281.293 -      <rect
 281.294 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 281.295 -         id="rect6106"
 281.296 -         width="134.53746"
 281.297 -         height="44.537449"
 281.298 -         x="314.87415"
 281.299 -         y="257.95059" />
 281.300 -      <text
 281.301 -         xml:space="preserve"
 281.302 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.303 -         x="339.55664"
 281.304 -         y="283.7113"
 281.305 -         id="text6108"><tspan
 281.306 -           sodipodi:role="line"
 281.307 -           id="tspan6110"
 281.308 -           x="339.55664"
 281.309 -           y="283.7113"
 281.310 -           style="font-family:Courier">dfbbb33f3fa3</tspan></text>
 281.311 -    </g>
 281.312 -    <g
 281.313 -       id="g6135"
 281.314 -       transform="translate(263.0396,49.83106)">
 281.315 -      <rect
 281.316 -         inkscape:transform-center-y="102.85714"
 281.317 -         inkscape:transform-center-x="129.28571"
 281.318 -         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 281.319 -         id="rect6112"
 281.320 -         width="134.53746"
 281.321 -         height="44.537449"
 281.322 -         x="314.15985"
 281.323 -         y="326.52203" />
 281.324 -      <text
 281.325 -         inkscape:transform-center-y="102.7311"
 281.326 -         inkscape:transform-center-x="128.69672"
 281.327 -         xml:space="preserve"
 281.328 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.329 -         x="338.84335"
 281.330 -         y="352.28271"
 281.331 -         id="text6114"><tspan
 281.332 -           sodipodi:role="line"
 281.333 -           id="tspan6116"
 281.334 -           x="338.84335"
 281.335 -           y="352.28271"
 281.336 -           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 281.337 -    </g>
 281.338 -    <text
 281.339 -       xml:space="preserve"
 281.340 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.341 -       x="576.63208"
 281.342 -       y="270.479"
 281.343 -       id="text6118"><tspan
 281.344 -         sodipodi:role="line"
 281.345 -         id="tspan6120"
 281.346 -         x="576.63208"
 281.347 -         y="270.479">First parent</tspan></text>
 281.348 -    <text
 281.349 -       xml:space="preserve"
 281.350 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.351 -       x="576.07544"
 281.352 -       y="364.49615"
 281.353 -       id="text6122"><tspan
 281.354 -         sodipodi:role="line"
 281.355 -         id="tspan6124"
 281.356 -         x="576.07544"
 281.357 -         y="364.49615">Second parent</tspan></text>
 281.358 -    <text
 281.359 -       xml:space="preserve"
 281.360 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.361 -       x="556.61743"
 281.362 -       y="231.36218"
 281.363 -       id="text6195"><tspan
 281.364 -         sodipodi:role="line"
 281.365 -         id="tspan6197"
 281.366 -         x="556.61743"
 281.367 -         y="231.36218">Parents of working directory</tspan></text>
 281.368 -    <path
 281.369 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 281.370 -       d="M 576.82542,297.63008 L 483.02528,287.95831"
 281.371 -       id="path6266"
 281.372 -       inkscape:connector-type="polyline"
 281.373 -       inkscape:connection-start="#g6130"
 281.374 -       inkscape:connection-end="#g6261" />
 281.375 -    <path
 281.376 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 281.377 -       d="M 665.12232,418.17579 L 665.12232,418.17579"
 281.378 -       id="path6270"
 281.379 -       inkscape:connector-type="polyline" />
 281.380 -    <text
 281.381 -       xml:space="preserve"
 281.382 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 281.383 -       x="316.86407"
 281.384 -       y="275.6496"
 281.385 -       id="text6573"><tspan
 281.386 -         sodipodi:role="line"
 281.387 -         id="tspan6575"
 281.388 -         x="316.86407"
 281.389 -         y="275.6496"
 281.390 -         style="text-align:end;text-anchor:end">New</tspan><tspan
 281.391 -         sodipodi:role="line"
 281.392 -         x="316.86407"
 281.393 -         y="290.6496"
 281.394 -         id="tspan6577"
 281.395 -         style="text-align:end;text-anchor:end">changeset</tspan></text>
 281.396 -  </g>
 281.397 -</svg>
   282.1 --- a/en/images/wdir-branch.svg	Fri Mar 20 17:17:55 2009 +0800
   282.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   282.3 @@ -1,418 +0,0 @@
   282.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   282.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   282.6 -<svg
   282.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   282.8 -   xmlns:cc="http://web.resource.org/cc/"
   282.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  282.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  282.11 -   xmlns="http://www.w3.org/2000/svg"
  282.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  282.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  282.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  282.15 -   width="744.09448819"
  282.16 -   height="1052.3622047"
  282.17 -   id="svg5971"
  282.18 -   sodipodi:version="0.32"
  282.19 -   inkscape:version="0.44.1"
  282.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  282.21 -   sodipodi:docname="wdir-branch.svg">
  282.22 -  <defs
  282.23 -     id="defs5973">
  282.24 -    <marker
  282.25 -       inkscape:stockid="Arrow1Mstart"
  282.26 -       orient="auto"
  282.27 -       refY="0.0"
  282.28 -       refX="0.0"
  282.29 -       id="Arrow1Mstart"
  282.30 -       style="overflow:visible">
  282.31 -      <path
  282.32 -         id="path4855"
  282.33 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  282.34 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  282.35 -         transform="scale(0.4) translate(10,0)" />
  282.36 -    </marker>
  282.37 -    <linearGradient
  282.38 -       id="linearGradient6049">
  282.39 -      <stop
  282.40 -         style="stop-color:#686868;stop-opacity:1;"
  282.41 -         offset="0"
  282.42 -         id="stop6051" />
  282.43 -      <stop
  282.44 -         style="stop-color:#f0f0f0;stop-opacity:1;"
  282.45 -         offset="1"
  282.46 -         id="stop6053" />
  282.47 -    </linearGradient>
  282.48 -    <marker
  282.49 -       inkscape:stockid="Arrow1Mend"
  282.50 -       orient="auto"
  282.51 -       refY="0.0"
  282.52 -       refX="0.0"
  282.53 -       id="Arrow1Mend"
  282.54 -       style="overflow:visible;">
  282.55 -      <path
  282.56 -         id="path4852"
  282.57 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  282.58 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  282.59 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  282.60 -    </marker>
  282.61 -    <linearGradient
  282.62 -       inkscape:collect="always"
  282.63 -       xlink:href="#linearGradient6049"
  282.64 -       id="linearGradient6083"
  282.65 -       gradientUnits="userSpaceOnUse"
  282.66 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  282.67 -       x1="333.91171"
  282.68 -       y1="488.79077"
  282.69 -       x2="508.94543"
  282.70 -       y2="263.79077" />
  282.71 -    <linearGradient
  282.72 -       inkscape:collect="always"
  282.73 -       xlink:href="#linearGradient6049"
  282.74 -       id="linearGradient6142"
  282.75 -       gradientUnits="userSpaceOnUse"
  282.76 -       gradientTransform="translate(-42.00893,-30.49544)"
  282.77 -       x1="333.91171"
  282.78 -       y1="488.79077"
  282.79 -       x2="508.94543"
  282.80 -       y2="263.79077" />
  282.81 -    <linearGradient
  282.82 -       inkscape:collect="always"
  282.83 -       xlink:href="#linearGradient6049"
  282.84 -       id="linearGradient6193"
  282.85 -       gradientUnits="userSpaceOnUse"
  282.86 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  282.87 -       x1="333.91171"
  282.88 -       y1="488.79077"
  282.89 -       x2="508.94543"
  282.90 -       y2="263.79077" />
  282.91 -    <linearGradient
  282.92 -       inkscape:collect="always"
  282.93 -       xlink:href="#linearGradient6049"
  282.94 -       id="linearGradient6216"
  282.95 -       gradientUnits="userSpaceOnUse"
  282.96 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  282.97 -       x1="333.91171"
  282.98 -       y1="488.79077"
  282.99 -       x2="508.94543"
 282.100 -       y2="263.79077" />
 282.101 -    <linearGradient
 282.102 -       inkscape:collect="always"
 282.103 -       xlink:href="#linearGradient6049"
 282.104 -       id="linearGradient6232"
 282.105 -       gradientUnits="userSpaceOnUse"
 282.106 -       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 282.107 -       x1="333.91171"
 282.108 -       y1="488.79077"
 282.109 -       x2="508.94543"
 282.110 -       y2="263.79077" />
 282.111 -    <linearGradient
 282.112 -       inkscape:collect="always"
 282.113 -       xlink:href="#linearGradient6049"
 282.114 -       id="linearGradient6445"
 282.115 -       gradientUnits="userSpaceOnUse"
 282.116 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 282.117 -       x1="333.91171"
 282.118 -       y1="488.79077"
 282.119 -       x2="508.94543"
 282.120 -       y2="263.79077" />
 282.121 -    <linearGradient
 282.122 -       inkscape:collect="always"
 282.123 -       xlink:href="#linearGradient6049"
 282.124 -       id="linearGradient6974"
 282.125 -       gradientUnits="userSpaceOnUse"
 282.126 -       gradientTransform="matrix(1.911882,0,0,0.789965,-574.7896,51.22599)"
 282.127 -       x1="333.91171"
 282.128 -       y1="488.79077"
 282.129 -       x2="508.94543"
 282.130 -       y2="263.79077" />
 282.131 -    <linearGradient
 282.132 -       inkscape:collect="always"
 282.133 -       xlink:href="#linearGradient6049"
 282.134 -       id="linearGradient6996"
 282.135 -       gradientUnits="userSpaceOnUse"
 282.136 -       gradientTransform="matrix(1.000473,0,0,0.790947,112.8399,50.85693)"
 282.137 -       x1="333.91171"
 282.138 -       y1="488.79077"
 282.139 -       x2="508.94543"
 282.140 -       y2="263.79077" />
 282.141 -  </defs>
 282.142 -  <sodipodi:namedview
 282.143 -     id="base"
 282.144 -     pagecolor="#ffffff"
 282.145 -     bordercolor="#666666"
 282.146 -     borderopacity="1.0"
 282.147 -     gridtolerance="10000"
 282.148 -     guidetolerance="10"
 282.149 -     objecttolerance="10"
 282.150 -     inkscape:pageopacity="0.0"
 282.151 -     inkscape:pageshadow="2"
 282.152 -     inkscape:zoom="0.90509668"
 282.153 -     inkscape:cx="345.85973"
 282.154 -     inkscape:cy="690.49342"
 282.155 -     inkscape:document-units="px"
 282.156 -     inkscape:current-layer="layer1"
 282.157 -     showguides="true"
 282.158 -     inkscape:guide-bbox="true"
 282.159 -     inkscape:window-width="906"
 282.160 -     inkscape:window-height="620"
 282.161 -     inkscape:window-x="0"
 282.162 -     inkscape:window-y="25">
 282.163 -    <sodipodi:guide
 282.164 -       orientation="vertical"
 282.165 -       position="-1.4285714"
 282.166 -       id="guide6022" />
 282.167 -  </sodipodi:namedview>
 282.168 -  <metadata
 282.169 -     id="metadata5976">
 282.170 -    <rdf:RDF>
 282.171 -      <cc:Work
 282.172 -         rdf:about="">
 282.173 -        <dc:format>image/svg+xml</dc:format>
 282.174 -        <dc:type
 282.175 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 282.176 -      </cc:Work>
 282.177 -    </rdf:RDF>
 282.178 -  </metadata>
 282.179 -  <g
 282.180 -     inkscape:label="Layer 1"
 282.181 -     inkscape:groupmode="layer"
 282.182 -     id="layer1">
 282.183 -    <rect
 282.184 -       y="246.06918"
 282.185 -       x="64.325172"
 282.186 -       height="204.26233"
 282.187 -       width="333.2135"
 282.188 -       id="rect6047"
 282.189 -       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.91925466;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 282.190 -    <g
 282.191 -       id="g1935">
 282.192 -      <rect
 282.193 -         y="266.24374"
 282.194 -         x="84.113708"
 282.195 -         height="44.537449"
 282.196 -         width="134.53746"
 282.197 -         id="rect5996"
 282.198 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 282.199 -      <text
 282.200 -         id="text5998"
 282.201 -         y="292.00446"
 282.202 -         x="108.7962"
 282.203 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.204 -         xml:space="preserve"><tspan
 282.205 -           style="font-family:Courier"
 282.206 -           y="292.00446"
 282.207 -           x="108.7962"
 282.208 -           id="tspan6000"
 282.209 -           sodipodi:role="line">e7639888bb2f</tspan></text>
 282.210 -    </g>
 282.211 -    <g
 282.212 -       id="g6976"
 282.213 -       transform="translate(70,0)">
 282.214 -      <rect
 282.215 -         y="327.9104"
 282.216 -         x="40.113693"
 282.217 -         height="44.537449"
 282.218 -         width="134.53746"
 282.219 -         id="rect6004"
 282.220 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 282.221 -      <text
 282.222 -         id="text6006"
 282.223 -         y="353.67111"
 282.224 -         x="62.654205"
 282.225 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.226 -         xml:space="preserve"><tspan
 282.227 -           style="font-family:Courier"
 282.228 -           y="353.67111"
 282.229 -           x="62.654205"
 282.230 -           id="tspan6008"
 282.231 -           sodipodi:role="line">7b064d8bac5e</tspan></text>
 282.232 -    </g>
 282.233 -    <path
 282.234 -       inkscape:connector-type="polyline"
 282.235 -       id="path6020"
 282.236 -       d="M 160.92915,311.15532 L 167.83571,327.53627"
 282.237 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 282.238 -       inkscape:connection-end="#g6976"
 282.239 -       inkscape:connection-start="#g1935" />
 282.240 -    <rect
 282.241 -       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 282.242 -       id="rect6039"
 282.243 -       width="134.53746"
 282.244 -       height="44.537449"
 282.245 -       x="110.11359"
 282.246 -       y="389.57703" />
 282.247 -    <text
 282.248 -       xml:space="preserve"
 282.249 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.250 -       x="134.79706"
 282.251 -       y="415.33771"
 282.252 -       id="text6041"><tspan
 282.253 -         sodipodi:role="line"
 282.254 -         id="tspan6043"
 282.255 -         x="134.79706"
 282.256 -         y="415.33771"
 282.257 -         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 282.258 -    <path
 282.259 -       inkscape:connection-end="#rect6039"
 282.260 -       inkscape:connector-type="polyline"
 282.261 -       id="path6045"
 282.262 -       d="M 177.38238,372.82195 L 177.38235,389.20303"
 282.263 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 282.264 -    <rect
 282.265 -       y="245.94225"
 282.266 -       x="447.28412"
 282.267 -       height="204.51619"
 282.268 -       width="174.36833"
 282.269 -       id="rect6140"
 282.270 -       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 282.271 -    <g
 282.272 -       id="g6130"
 282.273 -       transform="translate(152.3254,24.38544)">
 282.274 -      <rect
 282.275 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 282.276 -         id="rect6106"
 282.277 -         width="134.53746"
 282.278 -         height="44.537449"
 282.279 -         x="314.87415"
 282.280 -         y="257.95059" />
 282.281 -      <text
 282.282 -         xml:space="preserve"
 282.283 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.284 -         x="339.55664"
 282.285 -         y="283.7113"
 282.286 -         id="text6108"><tspan
 282.287 -           sodipodi:role="line"
 282.288 -           id="tspan6110"
 282.289 -           x="339.55664"
 282.290 -           y="283.7113"
 282.291 -           style="font-family:Courier">ffb20e1701ea</tspan></text>
 282.292 -    </g>
 282.293 -    <g
 282.294 -       id="g6135"
 282.295 -       transform="translate(153.0396,49.83106)">
 282.296 -      <rect
 282.297 -         inkscape:transform-center-y="102.85714"
 282.298 -         inkscape:transform-center-x="129.28571"
 282.299 -         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 282.300 -         id="rect6112"
 282.301 -         width="134.53746"
 282.302 -         height="44.537449"
 282.303 -         x="314.15985"
 282.304 -         y="326.52203" />
 282.305 -      <text
 282.306 -         inkscape:transform-center-y="102.7311"
 282.307 -         inkscape:transform-center-x="128.69672"
 282.308 -         xml:space="preserve"
 282.309 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.310 -         x="338.84335"
 282.311 -         y="352.28271"
 282.312 -         id="text6114"><tspan
 282.313 -           sodipodi:role="line"
 282.314 -           id="tspan6116"
 282.315 -           x="338.84335"
 282.316 -           y="352.28271"
 282.317 -           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 282.318 -    </g>
 282.319 -    <text
 282.320 -       xml:space="preserve"
 282.321 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.322 -       x="466.63208"
 282.323 -       y="270.479"
 282.324 -       id="text6118"><tspan
 282.325 -         sodipodi:role="line"
 282.326 -         id="tspan6120"
 282.327 -         x="466.63208"
 282.328 -         y="270.479">First parent</tspan></text>
 282.329 -    <text
 282.330 -       xml:space="preserve"
 282.331 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.332 -       x="466.07544"
 282.333 -       y="364.49615"
 282.334 -       id="text6122"><tspan
 282.335 -         sodipodi:role="line"
 282.336 -         id="tspan6124"
 282.337 -         x="466.07544"
 282.338 -         y="364.49615">Second parent</tspan></text>
 282.339 -    <text
 282.340 -       xml:space="preserve"
 282.341 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.342 -       x="446.61743"
 282.343 -       y="231.36218"
 282.344 -       id="text6195"><tspan
 282.345 -         sodipodi:role="line"
 282.346 -         id="tspan6197"
 282.347 -         x="446.61743"
 282.348 -         y="231.36218">Parents of working directory</tspan></text>
 282.349 -    <path
 282.350 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 282.351 -       d="M 466.82542,300.21999 L 377.00207,294.39744"
 282.352 -       id="path6266"
 282.353 -       inkscape:connector-type="polyline"
 282.354 -       inkscape:connection-start="#g6130"
 282.355 -       inkscape:connection-end="#rect1925" />
 282.356 -    <path
 282.357 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 282.358 -       d="M 665.12232,418.17579 L 665.12232,418.17579"
 282.359 -       id="path6270"
 282.360 -       inkscape:connector-type="polyline" />
 282.361 -    <g
 282.362 -       id="g2845">
 282.363 -      <rect
 282.364 -         y="266.24374"
 282.365 -         x="242.09048"
 282.366 -         height="44.537449"
 282.367 -         width="134.53746"
 282.368 -         id="rect1925"
 282.369 -         style="fill:#9f9f9f;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 282.370 -      <text
 282.371 -         id="text1927"
 282.372 -         y="292.00446"
 282.373 -         x="266.77298"
 282.374 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.375 -         xml:space="preserve"><tspan
 282.376 -           style="font-family:Courier"
 282.377 -           y="292.00446"
 282.378 -           x="266.77298"
 282.379 -           id="tspan1929"
 282.380 -           sodipodi:role="line">ffb20e1701ea</tspan></text>
 282.381 -    </g>
 282.382 -    <path
 282.383 -       inkscape:connector-type="polyline"
 282.384 -       id="path1933"
 282.385 -       d="M 260.89978,311.15532 L 225.84185,327.53627"
 282.386 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 282.387 -       inkscape:connection-end="#g6976" />
 282.388 -    <text
 282.389 -       xml:space="preserve"
 282.390 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.391 -       x="109.45568"
 282.392 -       y="231.4554"
 282.393 -       id="text2837"><tspan
 282.394 -         sodipodi:role="line"
 282.395 -         id="tspan2839"
 282.396 -         x="109.45568"
 282.397 -         y="231.4554">Pre-existing head</tspan></text>
 282.398 -    <text
 282.399 -       xml:space="preserve"
 282.400 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 282.401 -       x="237.54184"
 282.402 -       y="231.4554"
 282.403 -       id="text2841"><tspan
 282.404 -         sodipodi:role="line"
 282.405 -         id="tspan2843"
 282.406 -         x="237.54184"
 282.407 -         y="231.4554">Newly created head (and tip)</tspan></text>
 282.408 -    <path
 282.409 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 282.410 -       d="M 148.05048,235.87482 L 149.94915,265.86962"
 282.411 -       id="path2850"
 282.412 -       inkscape:connector-type="polyline"
 282.413 -       inkscape:connection-end="#g1935" />
 282.414 -    <path
 282.415 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 282.416 -       d="M 303.83495,238.08453 L 306.87874,265.86962"
 282.417 -       id="path2852"
 282.418 -       inkscape:connector-type="polyline"
 282.419 -       inkscape:connection-end="#g2845" />
 282.420 -  </g>
 282.421 -</svg>
   283.1 --- a/en/images/wdir-merge.svg	Fri Mar 20 17:17:55 2009 +0800
   283.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   283.3 @@ -1,425 +0,0 @@
   283.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   283.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   283.6 -<svg
   283.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   283.8 -   xmlns:cc="http://web.resource.org/cc/"
   283.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  283.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  283.11 -   xmlns="http://www.w3.org/2000/svg"
  283.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  283.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  283.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  283.15 -   width="744.09448819"
  283.16 -   height="1052.3622047"
  283.17 -   id="svg5971"
  283.18 -   sodipodi:version="0.32"
  283.19 -   inkscape:version="0.44.1"
  283.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  283.21 -   sodipodi:docname="wdir-merge.svg">
  283.22 -  <defs
  283.23 -     id="defs5973">
  283.24 -    <marker
  283.25 -       inkscape:stockid="Arrow1Mstart"
  283.26 -       orient="auto"
  283.27 -       refY="0.0"
  283.28 -       refX="0.0"
  283.29 -       id="Arrow1Mstart"
  283.30 -       style="overflow:visible">
  283.31 -      <path
  283.32 -         id="path4855"
  283.33 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  283.34 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  283.35 -         transform="scale(0.4) translate(10,0)" />
  283.36 -    </marker>
  283.37 -    <linearGradient
  283.38 -       id="linearGradient6049">
  283.39 -      <stop
  283.40 -         style="stop-color:#686868;stop-opacity:1;"
  283.41 -         offset="0"
  283.42 -         id="stop6051" />
  283.43 -      <stop
  283.44 -         style="stop-color:#f0f0f0;stop-opacity:1;"
  283.45 -         offset="1"
  283.46 -         id="stop6053" />
  283.47 -    </linearGradient>
  283.48 -    <marker
  283.49 -       inkscape:stockid="Arrow1Mend"
  283.50 -       orient="auto"
  283.51 -       refY="0.0"
  283.52 -       refX="0.0"
  283.53 -       id="Arrow1Mend"
  283.54 -       style="overflow:visible;">
  283.55 -      <path
  283.56 -         id="path4852"
  283.57 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  283.58 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  283.59 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  283.60 -    </marker>
  283.61 -    <linearGradient
  283.62 -       inkscape:collect="always"
  283.63 -       xlink:href="#linearGradient6049"
  283.64 -       id="linearGradient6083"
  283.65 -       gradientUnits="userSpaceOnUse"
  283.66 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  283.67 -       x1="333.91171"
  283.68 -       y1="488.79077"
  283.69 -       x2="508.94543"
  283.70 -       y2="263.79077" />
  283.71 -    <linearGradient
  283.72 -       inkscape:collect="always"
  283.73 -       xlink:href="#linearGradient6049"
  283.74 -       id="linearGradient6142"
  283.75 -       gradientUnits="userSpaceOnUse"
  283.76 -       gradientTransform="translate(-42.00893,-30.49544)"
  283.77 -       x1="333.91171"
  283.78 -       y1="488.79077"
  283.79 -       x2="508.94543"
  283.80 -       y2="263.79077" />
  283.81 -    <linearGradient
  283.82 -       inkscape:collect="always"
  283.83 -       xlink:href="#linearGradient6049"
  283.84 -       id="linearGradient6193"
  283.85 -       gradientUnits="userSpaceOnUse"
  283.86 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  283.87 -       x1="333.91171"
  283.88 -       y1="488.79077"
  283.89 -       x2="508.94543"
  283.90 -       y2="263.79077" />
  283.91 -    <linearGradient
  283.92 -       inkscape:collect="always"
  283.93 -       xlink:href="#linearGradient6049"
  283.94 -       id="linearGradient6216"
  283.95 -       gradientUnits="userSpaceOnUse"
  283.96 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  283.97 -       x1="333.91171"
  283.98 -       y1="488.79077"
  283.99 -       x2="508.94543"
 283.100 -       y2="263.79077" />
 283.101 -    <linearGradient
 283.102 -       inkscape:collect="always"
 283.103 -       xlink:href="#linearGradient6049"
 283.104 -       id="linearGradient6232"
 283.105 -       gradientUnits="userSpaceOnUse"
 283.106 -       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 283.107 -       x1="333.91171"
 283.108 -       y1="488.79077"
 283.109 -       x2="508.94543"
 283.110 -       y2="263.79077" />
 283.111 -    <linearGradient
 283.112 -       inkscape:collect="always"
 283.113 -       xlink:href="#linearGradient6049"
 283.114 -       id="linearGradient6445"
 283.115 -       gradientUnits="userSpaceOnUse"
 283.116 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 283.117 -       x1="333.91171"
 283.118 -       y1="488.79077"
 283.119 -       x2="508.94543"
 283.120 -       y2="263.79077" />
 283.121 -    <linearGradient
 283.122 -       inkscape:collect="always"
 283.123 -       xlink:href="#linearGradient6049"
 283.124 -       id="linearGradient6974"
 283.125 -       gradientUnits="userSpaceOnUse"
 283.126 -       gradientTransform="matrix(1.911882,0,0,0.789965,-574.7896,51.22599)"
 283.127 -       x1="333.91171"
 283.128 -       y1="488.79077"
 283.129 -       x2="508.94543"
 283.130 -       y2="263.79077" />
 283.131 -    <linearGradient
 283.132 -       inkscape:collect="always"
 283.133 -       xlink:href="#linearGradient6049"
 283.134 -       id="linearGradient6996"
 283.135 -       gradientUnits="userSpaceOnUse"
 283.136 -       gradientTransform="matrix(1.000473,0,0,0.790947,112.8399,50.85693)"
 283.137 -       x1="333.91171"
 283.138 -       y1="488.79077"
 283.139 -       x2="508.94543"
 283.140 -       y2="263.79077" />
 283.141 -  </defs>
 283.142 -  <sodipodi:namedview
 283.143 -     id="base"
 283.144 -     pagecolor="#ffffff"
 283.145 -     bordercolor="#666666"
 283.146 -     borderopacity="1.0"
 283.147 -     gridtolerance="10000"
 283.148 -     guidetolerance="10"
 283.149 -     objecttolerance="10"
 283.150 -     inkscape:pageopacity="0.0"
 283.151 -     inkscape:pageshadow="2"
 283.152 -     inkscape:zoom="1.28"
 283.153 -     inkscape:cx="345.85973"
 283.154 -     inkscape:cy="690.49342"
 283.155 -     inkscape:document-units="px"
 283.156 -     inkscape:current-layer="layer1"
 283.157 -     showguides="true"
 283.158 -     inkscape:guide-bbox="true"
 283.159 -     inkscape:window-width="906"
 283.160 -     inkscape:window-height="620"
 283.161 -     inkscape:window-x="0"
 283.162 -     inkscape:window-y="25">
 283.163 -    <sodipodi:guide
 283.164 -       orientation="vertical"
 283.165 -       position="-1.4285714"
 283.166 -       id="guide6022" />
 283.167 -  </sodipodi:namedview>
 283.168 -  <metadata
 283.169 -     id="metadata5976">
 283.170 -    <rdf:RDF>
 283.171 -      <cc:Work
 283.172 -         rdf:about="">
 283.173 -        <dc:format>image/svg+xml</dc:format>
 283.174 -        <dc:type
 283.175 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 283.176 -      </cc:Work>
 283.177 -    </rdf:RDF>
 283.178 -  </metadata>
 283.179 -  <g
 283.180 -     inkscape:label="Layer 1"
 283.181 -     inkscape:groupmode="layer"
 283.182 -     id="layer1">
 283.183 -    <rect
 283.184 -       y="246.06918"
 283.185 -       x="64.325172"
 283.186 -       height="204.26233"
 283.187 -       width="333.2135"
 283.188 -       id="rect6047"
 283.189 -       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.91925466;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 283.190 -    <g
 283.191 -       id="g6976"
 283.192 -       transform="translate(70,0)">
 283.193 -      <rect
 283.194 -         y="327.9104"
 283.195 -         x="40.113693"
 283.196 -         height="44.537449"
 283.197 -         width="134.53746"
 283.198 -         id="rect6004"
 283.199 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 283.200 -      <text
 283.201 -         id="text6006"
 283.202 -         y="353.67111"
 283.203 -         x="62.654205"
 283.204 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.205 -         xml:space="preserve"><tspan
 283.206 -           style="font-family:Courier"
 283.207 -           y="353.67111"
 283.208 -           x="62.654205"
 283.209 -           id="tspan6008"
 283.210 -           sodipodi:role="line">7b064d8bac5e</tspan></text>
 283.211 -    </g>
 283.212 -    <path
 283.213 -       inkscape:connector-type="polyline"
 283.214 -       id="path6020"
 283.215 -       d="M 160.92915,311.15532 L 167.83571,327.53627"
 283.216 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 283.217 -       inkscape:connection-end="#g6976"
 283.218 -       inkscape:connection-start="#g1935" />
 283.219 -    <rect
 283.220 -       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 283.221 -       id="rect6039"
 283.222 -       width="134.53746"
 283.223 -       height="44.537449"
 283.224 -       x="110.11359"
 283.225 -       y="389.57703" />
 283.226 -    <text
 283.227 -       xml:space="preserve"
 283.228 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.229 -       x="134.79706"
 283.230 -       y="415.33771"
 283.231 -       id="text6041"><tspan
 283.232 -         sodipodi:role="line"
 283.233 -         id="tspan6043"
 283.234 -         x="134.79706"
 283.235 -         y="415.33771"
 283.236 -         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 283.237 -    <path
 283.238 -       inkscape:connection-end="#rect6039"
 283.239 -       inkscape:connector-type="polyline"
 283.240 -       id="path6045"
 283.241 -       d="M 177.38238,372.82195 L 177.38235,389.20303"
 283.242 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 283.243 -    <rect
 283.244 -       y="245.94225"
 283.245 -       x="447.28412"
 283.246 -       height="204.51619"
 283.247 -       width="174.36833"
 283.248 -       id="rect6140"
 283.249 -       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 283.250 -    <g
 283.251 -       id="g6130"
 283.252 -       transform="translate(152.3254,24.38544)">
 283.253 -      <rect
 283.254 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 283.255 -         id="rect6106"
 283.256 -         width="134.53746"
 283.257 -         height="44.537449"
 283.258 -         x="314.87415"
 283.259 -         y="257.95059" />
 283.260 -      <text
 283.261 -         xml:space="preserve"
 283.262 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.263 -         x="339.55664"
 283.264 -         y="283.7113"
 283.265 -         id="text6108"><tspan
 283.266 -           sodipodi:role="line"
 283.267 -           id="tspan6110"
 283.268 -           x="339.55664"
 283.269 -           y="283.7113"
 283.270 -           style="font-family:Courier">ffb20e1701ea</tspan></text>
 283.271 -    </g>
 283.272 -    <g
 283.273 -       id="g6135"
 283.274 -       transform="translate(153.0396,49.83106)">
 283.275 -      <rect
 283.276 -         inkscape:transform-center-y="102.85714"
 283.277 -         inkscape:transform-center-x="129.28571"
 283.278 -         style="fill:#d4d4d4;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 283.279 -         id="rect6112"
 283.280 -         width="134.53746"
 283.281 -         height="44.537449"
 283.282 -         x="314.15985"
 283.283 -         y="326.52203" />
 283.284 -      <text
 283.285 -         inkscape:transform-center-y="102.7311"
 283.286 -         inkscape:transform-center-x="128.69672"
 283.287 -         xml:space="preserve"
 283.288 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.289 -         x="338.84335"
 283.290 -         y="352.28271"
 283.291 -         id="text6114"><tspan
 283.292 -           sodipodi:role="line"
 283.293 -           id="tspan6116"
 283.294 -           x="338.84335"
 283.295 -           y="352.28271"
 283.296 -           style="fill:black;fill-opacity:1;font-family:Courier">e7639888bb2f</tspan></text>
 283.297 -    </g>
 283.298 -    <text
 283.299 -       xml:space="preserve"
 283.300 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.301 -       x="466.63208"
 283.302 -       y="270.479"
 283.303 -       id="text6118"><tspan
 283.304 -         sodipodi:role="line"
 283.305 -         id="tspan6120"
 283.306 -         x="466.63208"
 283.307 -         y="270.479">First parent (unchanged)</tspan></text>
 283.308 -    <text
 283.309 -       xml:space="preserve"
 283.310 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.311 -       x="466.07544"
 283.312 -       y="364.49615"
 283.313 -       id="text6122"><tspan
 283.314 -         sodipodi:role="line"
 283.315 -         id="tspan6124"
 283.316 -         x="466.07544"
 283.317 -         y="364.49615">Second parent</tspan></text>
 283.318 -    <text
 283.319 -       xml:space="preserve"
 283.320 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.321 -       x="446.61743"
 283.322 -       y="231.36218"
 283.323 -       id="text6195"><tspan
 283.324 -         sodipodi:role="line"
 283.325 -         id="tspan6197"
 283.326 -         x="446.61743"
 283.327 -         y="231.36218">Parents of working directory</tspan></text>
 283.328 -    <path
 283.329 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 283.330 -       d="M 466.82542,300.21999 L 377.00207,294.39744"
 283.331 -       id="path6266"
 283.332 -       inkscape:connector-type="polyline"
 283.333 -       inkscape:connection-start="#g6130"
 283.334 -       inkscape:connection-end="#rect1925" />
 283.335 -    <path
 283.336 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 283.337 -       d="M 665.12232,418.17579 L 665.12232,418.17579"
 283.338 -       id="path6270"
 283.339 -       inkscape:connector-type="polyline" />
 283.340 -    <g
 283.341 -       id="g2845">
 283.342 -      <rect
 283.343 -         y="266.24374"
 283.344 -         x="242.09048"
 283.345 -         height="44.537449"
 283.346 -         width="134.53746"
 283.347 -         id="rect1925"
 283.348 -         style="fill:#9f9f9f;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 283.349 -      <text
 283.350 -         id="text1927"
 283.351 -         y="292.00446"
 283.352 -         x="266.77298"
 283.353 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.354 -         xml:space="preserve"><tspan
 283.355 -           style="font-family:Courier"
 283.356 -           y="292.00446"
 283.357 -           x="266.77298"
 283.358 -           id="tspan1929"
 283.359 -           sodipodi:role="line">ffb20e1701ea</tspan></text>
 283.360 -    </g>
 283.361 -    <path
 283.362 -       inkscape:connector-type="polyline"
 283.363 -       id="path1933"
 283.364 -       d="M 260.89978,311.15532 L 225.84185,327.53627"
 283.365 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1;display:inline"
 283.366 -       inkscape:connection-end="#g6976" />
 283.367 -    <text
 283.368 -       xml:space="preserve"
 283.369 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.370 -       x="109.45568"
 283.371 -       y="231.4554"
 283.372 -       id="text2837"><tspan
 283.373 -         sodipodi:role="line"
 283.374 -         id="tspan2839"
 283.375 -         x="109.45568"
 283.376 -         y="231.4554">Pre-existing head</tspan></text>
 283.377 -    <text
 283.378 -       xml:space="preserve"
 283.379 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.380 -       x="237.54184"
 283.381 -       y="231.4554"
 283.382 -       id="text2841"><tspan
 283.383 -         sodipodi:role="line"
 283.384 -         id="tspan2843"
 283.385 -         x="237.54184"
 283.386 -         y="231.4554">Newly created head (and tip)</tspan></text>
 283.387 -    <path
 283.388 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 283.389 -       d="M 148.05048,235.87482 L 149.94915,265.86962"
 283.390 -       id="path2850"
 283.391 -       inkscape:connector-type="polyline"
 283.392 -       inkscape:connection-end="#g1935" />
 283.393 -    <path
 283.394 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
 283.395 -       d="M 303.83495,238.08453 L 306.87874,265.86962"
 283.396 -       id="path2852"
 283.397 -       inkscape:connector-type="polyline"
 283.398 -       inkscape:connection-end="#g2845" />
 283.399 -    <path
 283.400 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 283.401 -       d="M 466.82545,379.17944 L 219.0253,307.95488"
 283.402 -       id="path3016"
 283.403 -       inkscape:connector-type="polyline"
 283.404 -       inkscape:connection-start="#g6135"
 283.405 -       inkscape:connection-end="#g1935" />
 283.406 -    <g
 283.407 -       id="g1935">
 283.408 -      <rect
 283.409 -         y="266.24374"
 283.410 -         x="84.113708"
 283.411 -         height="44.537449"
 283.412 -         width="134.53746"
 283.413 -         id="rect5996"
 283.414 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 283.415 -      <text
 283.416 -         id="text5998"
 283.417 -         y="292.00446"
 283.418 -         x="108.7962"
 283.419 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 283.420 -         xml:space="preserve"><tspan
 283.421 -           style="font-family:Courier"
 283.422 -           y="292.00446"
 283.423 -           x="108.7962"
 283.424 -           id="tspan6000"
 283.425 -           sodipodi:role="line">e7639888bb2f</tspan></text>
 283.426 -    </g>
 283.427 -  </g>
 283.428 -</svg>
   284.1 --- a/en/images/wdir-pre-branch.svg	Fri Mar 20 17:17:55 2009 +0800
   284.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   284.3 @@ -1,364 +0,0 @@
   284.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   284.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   284.6 -<svg
   284.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   284.8 -   xmlns:cc="http://web.resource.org/cc/"
   284.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  284.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  284.11 -   xmlns="http://www.w3.org/2000/svg"
  284.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  284.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  284.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  284.15 -   width="744.09448819"
  284.16 -   height="1052.3622047"
  284.17 -   id="svg5971"
  284.18 -   sodipodi:version="0.32"
  284.19 -   inkscape:version="0.44.1"
  284.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  284.21 -   sodipodi:docname="wdir-branch.svg">
  284.22 -  <defs
  284.23 -     id="defs5973">
  284.24 -    <marker
  284.25 -       inkscape:stockid="Arrow1Mstart"
  284.26 -       orient="auto"
  284.27 -       refY="0.0"
  284.28 -       refX="0.0"
  284.29 -       id="Arrow1Mstart"
  284.30 -       style="overflow:visible">
  284.31 -      <path
  284.32 -         id="path4855"
  284.33 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  284.34 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  284.35 -         transform="scale(0.4) translate(10,0)" />
  284.36 -    </marker>
  284.37 -    <linearGradient
  284.38 -       id="linearGradient6049">
  284.39 -      <stop
  284.40 -         style="stop-color:#686868;stop-opacity:1;"
  284.41 -         offset="0"
  284.42 -         id="stop6051" />
  284.43 -      <stop
  284.44 -         style="stop-color:#f0f0f0;stop-opacity:1;"
  284.45 -         offset="1"
  284.46 -         id="stop6053" />
  284.47 -    </linearGradient>
  284.48 -    <marker
  284.49 -       inkscape:stockid="Arrow1Mend"
  284.50 -       orient="auto"
  284.51 -       refY="0.0"
  284.52 -       refX="0.0"
  284.53 -       id="Arrow1Mend"
  284.54 -       style="overflow:visible;">
  284.55 -      <path
  284.56 -         id="path4852"
  284.57 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  284.58 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  284.59 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  284.60 -    </marker>
  284.61 -    <linearGradient
  284.62 -       inkscape:collect="always"
  284.63 -       xlink:href="#linearGradient6049"
  284.64 -       id="linearGradient6083"
  284.65 -       gradientUnits="userSpaceOnUse"
  284.66 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  284.67 -       x1="333.91171"
  284.68 -       y1="488.79077"
  284.69 -       x2="508.94543"
  284.70 -       y2="263.79077" />
  284.71 -    <linearGradient
  284.72 -       inkscape:collect="always"
  284.73 -       xlink:href="#linearGradient6049"
  284.74 -       id="linearGradient6142"
  284.75 -       gradientUnits="userSpaceOnUse"
  284.76 -       gradientTransform="translate(-42.00893,-30.49544)"
  284.77 -       x1="333.91171"
  284.78 -       y1="488.79077"
  284.79 -       x2="508.94543"
  284.80 -       y2="263.79077" />
  284.81 -    <linearGradient
  284.82 -       inkscape:collect="always"
  284.83 -       xlink:href="#linearGradient6049"
  284.84 -       id="linearGradient6193"
  284.85 -       gradientUnits="userSpaceOnUse"
  284.86 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  284.87 -       x1="333.91171"
  284.88 -       y1="488.79077"
  284.89 -       x2="508.94543"
  284.90 -       y2="263.79077" />
  284.91 -    <linearGradient
  284.92 -       inkscape:collect="always"
  284.93 -       xlink:href="#linearGradient6049"
  284.94 -       id="linearGradient6216"
  284.95 -       gradientUnits="userSpaceOnUse"
  284.96 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  284.97 -       x1="333.91171"
  284.98 -       y1="488.79077"
  284.99 -       x2="508.94543"
 284.100 -       y2="263.79077" />
 284.101 -    <linearGradient
 284.102 -       inkscape:collect="always"
 284.103 -       xlink:href="#linearGradient6049"
 284.104 -       id="linearGradient6232"
 284.105 -       gradientUnits="userSpaceOnUse"
 284.106 -       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 284.107 -       x1="333.91171"
 284.108 -       y1="488.79077"
 284.109 -       x2="508.94543"
 284.110 -       y2="263.79077" />
 284.111 -    <linearGradient
 284.112 -       inkscape:collect="always"
 284.113 -       xlink:href="#linearGradient6049"
 284.114 -       id="linearGradient6445"
 284.115 -       gradientUnits="userSpaceOnUse"
 284.116 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 284.117 -       x1="333.91171"
 284.118 -       y1="488.79077"
 284.119 -       x2="508.94543"
 284.120 -       y2="263.79077" />
 284.121 -    <linearGradient
 284.122 -       inkscape:collect="always"
 284.123 -       xlink:href="#linearGradient6049"
 284.124 -       id="linearGradient6974"
 284.125 -       gradientUnits="userSpaceOnUse"
 284.126 -       gradientTransform="matrix(1.000474,0,0,0.790947,-314.246,50.85694)"
 284.127 -       x1="333.91171"
 284.128 -       y1="488.79077"
 284.129 -       x2="508.94543"
 284.130 -       y2="263.79077" />
 284.131 -    <linearGradient
 284.132 -       inkscape:collect="always"
 284.133 -       xlink:href="#linearGradient6049"
 284.134 -       id="linearGradient6996"
 284.135 -       gradientUnits="userSpaceOnUse"
 284.136 -       gradientTransform="matrix(1.000473,0,0,0.790947,-85.16012,50.85693)"
 284.137 -       x1="333.91171"
 284.138 -       y1="488.79077"
 284.139 -       x2="508.94543"
 284.140 -       y2="263.79077" />
 284.141 -  </defs>
 284.142 -  <sodipodi:namedview
 284.143 -     id="base"
 284.144 -     pagecolor="#ffffff"
 284.145 -     bordercolor="#666666"
 284.146 -     borderopacity="1.0"
 284.147 -     gridtolerance="10000"
 284.148 -     guidetolerance="10"
 284.149 -     objecttolerance="10"
 284.150 -     inkscape:pageopacity="0.0"
 284.151 -     inkscape:pageshadow="2"
 284.152 -     inkscape:zoom="0.90509668"
 284.153 -     inkscape:cx="390.0539"
 284.154 -     inkscape:cy="690.49342"
 284.155 -     inkscape:document-units="px"
 284.156 -     inkscape:current-layer="layer1"
 284.157 -     showguides="true"
 284.158 -     inkscape:guide-bbox="true"
 284.159 -     inkscape:window-width="906"
 284.160 -     inkscape:window-height="620"
 284.161 -     inkscape:window-x="0"
 284.162 -     inkscape:window-y="25">
 284.163 -    <sodipodi:guide
 284.164 -       orientation="vertical"
 284.165 -       position="-1.4285714"
 284.166 -       id="guide6022" />
 284.167 -  </sodipodi:namedview>
 284.168 -  <metadata
 284.169 -     id="metadata5976">
 284.170 -    <rdf:RDF>
 284.171 -      <cc:Work
 284.172 -         rdf:about="">
 284.173 -        <dc:format>image/svg+xml</dc:format>
 284.174 -        <dc:type
 284.175 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 284.176 -      </cc:Work>
 284.177 -    </rdf:RDF>
 284.178 -  </metadata>
 284.179 -  <g
 284.180 -     inkscape:label="Layer 1"
 284.181 -     inkscape:groupmode="layer"
 284.182 -     id="layer1">
 284.183 -    <rect
 284.184 -       y="245.94225"
 284.185 -       x="20.198257"
 284.186 -       height="204.51619"
 284.187 -       width="174.36833"
 284.188 -       id="rect6047"
 284.189 -       style="fill:url(#linearGradient6974);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 284.190 -    <rect
 284.191 -       style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 284.192 -       id="rect5996"
 284.193 -       width="134.53746"
 284.194 -       height="44.537449"
 284.195 -       x="40.113693"
 284.196 -       y="266.24374" />
 284.197 -    <text
 284.198 -       xml:space="preserve"
 284.199 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.200 -       x="64.796204"
 284.201 -       y="292.00446"
 284.202 -       id="text5998"><tspan
 284.203 -         sodipodi:role="line"
 284.204 -         id="tspan6000"
 284.205 -         x="64.796204"
 284.206 -         y="292.00446"
 284.207 -         style="font-family:Courier">e7639888bb2f</tspan></text>
 284.208 -    <g
 284.209 -       id="g6976">
 284.210 -      <rect
 284.211 -         y="327.9104"
 284.212 -         x="40.113693"
 284.213 -         height="44.537449"
 284.214 -         width="134.53746"
 284.215 -         id="rect6004"
 284.216 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 284.217 -      <text
 284.218 -         id="text6006"
 284.219 -         y="353.67111"
 284.220 -         x="62.654205"
 284.221 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.222 -         xml:space="preserve"><tspan
 284.223 -           style="font-family:Courier"
 284.224 -           y="353.67111"
 284.225 -           x="62.654205"
 284.226 -           id="tspan6008"
 284.227 -           sodipodi:role="line">7b064d8bac5e</tspan></text>
 284.228 -    </g>
 284.229 -    <path
 284.230 -       inkscape:connection-end="#rect6004"
 284.231 -       inkscape:connector-type="polyline"
 284.232 -       id="path6020"
 284.233 -       d="M 107.38242,311.15529 L 107.38242,327.53626"
 284.234 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 284.235 -    <rect
 284.236 -       style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 284.237 -       id="rect6039"
 284.238 -       width="134.53746"
 284.239 -       height="44.537449"
 284.240 -       x="40.113571"
 284.241 -       y="389.57703" />
 284.242 -    <text
 284.243 -       xml:space="preserve"
 284.244 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.245 -       x="64.797073"
 284.246 -       y="415.33771"
 284.247 -       id="text6041"><tspan
 284.248 -         sodipodi:role="line"
 284.249 -         id="tspan6043"
 284.250 -         x="64.797073"
 284.251 -         y="415.33771"
 284.252 -         style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 284.253 -    <path
 284.254 -       inkscape:connection-end="#rect6039"
 284.255 -       inkscape:connector-type="polyline"
 284.256 -       id="path6045"
 284.257 -       d="M 107.38238,372.82195 L 107.38235,389.20301"
 284.258 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
 284.259 -    <text
 284.260 -       xml:space="preserve"
 284.261 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.262 -       x="19.660461"
 284.263 -       y="231.36218"
 284.264 -       id="text6102"><tspan
 284.265 -         sodipodi:role="line"
 284.266 -         id="tspan6104"
 284.267 -         x="19.660461"
 284.268 -         y="231.36218">History in repository</tspan></text>
 284.269 -    <rect
 284.270 -       y="245.94225"
 284.271 -       x="249.28412"
 284.272 -       height="204.51619"
 284.273 -       width="174.36833"
 284.274 -       id="rect6140"
 284.275 -       style="fill:url(#linearGradient6996);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 284.276 -    <g
 284.277 -       id="g6130"
 284.278 -       transform="translate(-45.67459,24.38544)">
 284.279 -      <rect
 284.280 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1"
 284.281 -         id="rect6106"
 284.282 -         width="134.53746"
 284.283 -         height="44.537449"
 284.284 -         x="314.87415"
 284.285 -         y="257.95059" />
 284.286 -      <text
 284.287 -         xml:space="preserve"
 284.288 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.289 -         x="339.55664"
 284.290 -         y="283.7113"
 284.291 -         id="text6108"><tspan
 284.292 -           sodipodi:role="line"
 284.293 -           id="tspan6110"
 284.294 -           x="339.55664"
 284.295 -           y="283.7113"
 284.296 -           style="font-family:Courier">7b064d8bac5e</tspan></text>
 284.297 -    </g>
 284.298 -    <g
 284.299 -       id="g6135"
 284.300 -       transform="translate(-44.96042,49.83106)">
 284.301 -      <rect
 284.302 -         inkscape:transform-center-y="102.85714"
 284.303 -         inkscape:transform-center-x="129.28571"
 284.304 -         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 284.305 -         id="rect6112"
 284.306 -         width="134.53746"
 284.307 -         height="44.537449"
 284.308 -         x="314.15985"
 284.309 -         y="326.52203" />
 284.310 -      <text
 284.311 -         inkscape:transform-center-y="102.7311"
 284.312 -         inkscape:transform-center-x="128.69672"
 284.313 -         xml:space="preserve"
 284.314 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.315 -         x="338.84335"
 284.316 -         y="352.28271"
 284.317 -         id="text6114"><tspan
 284.318 -           sodipodi:role="line"
 284.319 -           id="tspan6116"
 284.320 -           x="338.84335"
 284.321 -           y="352.28271"
 284.322 -           style="fill:#979797;fill-opacity:1;font-family:Courier">000000000000</tspan></text>
 284.323 -    </g>
 284.324 -    <text
 284.325 -       xml:space="preserve"
 284.326 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.327 -       x="268.63208"
 284.328 -       y="270.479"
 284.329 -       id="text6118"><tspan
 284.330 -         sodipodi:role="line"
 284.331 -         id="tspan6120"
 284.332 -         x="268.63208"
 284.333 -         y="270.479">First parent</tspan></text>
 284.334 -    <text
 284.335 -       xml:space="preserve"
 284.336 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.337 -       x="268.07544"
 284.338 -       y="364.49615"
 284.339 -       id="text6122"><tspan
 284.340 -         sodipodi:role="line"
 284.341 -         id="tspan6124"
 284.342 -         x="268.07544"
 284.343 -         y="364.49615">Second parent</tspan></text>
 284.344 -    <text
 284.345 -       xml:space="preserve"
 284.346 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 284.347 -       x="248.61746"
 284.348 -       y="231.36218"
 284.349 -       id="text6195"><tspan
 284.350 -         sodipodi:role="line"
 284.351 -         id="tspan6197"
 284.352 -         x="248.61746"
 284.353 -         y="231.36218">Parents of working directory</tspan></text>
 284.354 -    <path
 284.355 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 284.356 -       d="M 268.82543,318.06163 L 175.02528,336.72225"
 284.357 -       id="path6266"
 284.358 -       inkscape:connector-type="polyline"
 284.359 -       inkscape:connection-end="#g6976"
 284.360 -       inkscape:connection-start="#g6130" />
 284.361 -    <path
 284.362 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 284.363 -       d="M 665.12232,418.17579 L 665.12232,418.17579"
 284.364 -       id="path6270"
 284.365 -       inkscape:connector-type="polyline" />
 284.366 -  </g>
 284.367 -</svg>
   285.1 --- a/en/images/wdir.svg	Fri Mar 20 17:17:55 2009 +0800
   285.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   285.3 @@ -1,348 +0,0 @@
   285.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   285.5 -<!-- Created with Inkscape (http://www.inkscape.org/) -->
   285.6 -<svg
   285.7 -   xmlns:dc="http://purl.org/dc/elements/1.1/"
   285.8 -   xmlns:cc="http://web.resource.org/cc/"
   285.9 -   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  285.10 -   xmlns:svg="http://www.w3.org/2000/svg"
  285.11 -   xmlns="http://www.w3.org/2000/svg"
  285.12 -   xmlns:xlink="http://www.w3.org/1999/xlink"
  285.13 -   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  285.14 -   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  285.15 -   width="744.09448819"
  285.16 -   height="1052.3622047"
  285.17 -   id="svg5971"
  285.18 -   sodipodi:version="0.32"
  285.19 -   inkscape:version="0.44.1"
  285.20 -   sodipodi:docbase="/home/bos/hg/hgbook/en"
  285.21 -   sodipodi:docname="wdir.svg">
  285.22 -  <defs
  285.23 -     id="defs5973">
  285.24 -    <marker
  285.25 -       inkscape:stockid="Arrow1Mstart"
  285.26 -       orient="auto"
  285.27 -       refY="0.0"
  285.28 -       refX="0.0"
  285.29 -       id="Arrow1Mstart"
  285.30 -       style="overflow:visible">
  285.31 -      <path
  285.32 -         id="path4855"
  285.33 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  285.34 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  285.35 -         transform="scale(0.4) translate(10,0)" />
  285.36 -    </marker>
  285.37 -    <linearGradient
  285.38 -       id="linearGradient6049">
  285.39 -      <stop
  285.40 -         style="stop-color:#686868;stop-opacity:1;"
  285.41 -         offset="0"
  285.42 -         id="stop6051" />
  285.43 -      <stop
  285.44 -         style="stop-color:#f0f0f0;stop-opacity:1;"
  285.45 -         offset="1"
  285.46 -         id="stop6053" />
  285.47 -    </linearGradient>
  285.48 -    <marker
  285.49 -       inkscape:stockid="Arrow1Mend"
  285.50 -       orient="auto"
  285.51 -       refY="0.0"
  285.52 -       refX="0.0"
  285.53 -       id="Arrow1Mend"
  285.54 -       style="overflow:visible;">
  285.55 -      <path
  285.56 -         id="path4852"
  285.57 -         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  285.58 -         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  285.59 -         transform="scale(0.4) rotate(180) translate(10,0)" />
  285.60 -    </marker>
  285.61 -    <linearGradient
  285.62 -       inkscape:collect="always"
  285.63 -       xlink:href="#linearGradient6049"
  285.64 -       id="linearGradient6083"
  285.65 -       gradientUnits="userSpaceOnUse"
  285.66 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  285.67 -       x1="333.91171"
  285.68 -       y1="488.79077"
  285.69 -       x2="508.94543"
  285.70 -       y2="263.79077" />
  285.71 -    <linearGradient
  285.72 -       inkscape:collect="always"
  285.73 -       xlink:href="#linearGradient6049"
  285.74 -       id="linearGradient6142"
  285.75 -       gradientUnits="userSpaceOnUse"
  285.76 -       gradientTransform="translate(-42.00893,-30.49544)"
  285.77 -       x1="333.91171"
  285.78 -       y1="488.79077"
  285.79 -       x2="508.94543"
  285.80 -       y2="263.79077" />
  285.81 -    <linearGradient
  285.82 -       inkscape:collect="always"
  285.83 -       xlink:href="#linearGradient6049"
  285.84 -       id="linearGradient6193"
  285.85 -       gradientUnits="userSpaceOnUse"
  285.86 -       gradientTransform="translate(-240.0462,-8.633237e-6)"
  285.87 -       x1="333.91171"
  285.88 -       y1="488.79077"
  285.89 -       x2="508.94543"
  285.90 -       y2="263.79077" />
  285.91 -    <linearGradient
  285.92 -       inkscape:collect="always"
  285.93 -       xlink:href="#linearGradient6049"
  285.94 -       id="linearGradient6216"
  285.95 -       gradientUnits="userSpaceOnUse"
  285.96 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
  285.97 -       x1="333.91171"
  285.98 -       y1="488.79077"
  285.99 -       x2="508.94543"
 285.100 -       y2="263.79077" />
 285.101 -    <linearGradient
 285.102 -       inkscape:collect="always"
 285.103 -       xlink:href="#linearGradient6049"
 285.104 -       id="linearGradient6232"
 285.105 -       gradientUnits="userSpaceOnUse"
 285.106 -       gradientTransform="matrix(1.000473,0,0,0.790947,-11.16012,50.85693)"
 285.107 -       x1="333.91171"
 285.108 -       y1="488.79077"
 285.109 -       x2="508.94543"
 285.110 -       y2="263.79077" />
 285.111 -    <linearGradient
 285.112 -       inkscape:collect="always"
 285.113 -       xlink:href="#linearGradient6049"
 285.114 -       id="linearGradient6445"
 285.115 -       gradientUnits="userSpaceOnUse"
 285.116 -       gradientTransform="matrix(1.000474,0,0,0.790947,-240.246,50.9948)"
 285.117 -       x1="333.91171"
 285.118 -       y1="488.79077"
 285.119 -       x2="508.94543"
 285.120 -       y2="263.79077" />
 285.121 -  </defs>
 285.122 -  <sodipodi:namedview
 285.123 -     id="base"
 285.124 -     pagecolor="#ffffff"
 285.125 -     bordercolor="#666666"
 285.126 -     borderopacity="1.0"
 285.127 -     gridtolerance="10000"
 285.128 -     guidetolerance="10"
 285.129 -     objecttolerance="10"
 285.130 -     inkscape:pageopacity="0.0"
 285.131 -     inkscape:pageshadow="2"
 285.132 -     inkscape:zoom="0.90509668"
 285.133 -     inkscape:cx="390.0539"
 285.134 -     inkscape:cy="690.49342"
 285.135 -     inkscape:document-units="px"
 285.136 -     inkscape:current-layer="layer1"
 285.137 -     showguides="true"
 285.138 -     inkscape:guide-bbox="true"
 285.139 -     inkscape:window-width="906"
 285.140 -     inkscape:window-height="620"
 285.141 -     inkscape:window-x="0"
 285.142 -     inkscape:window-y="25">
 285.143 -    <sodipodi:guide
 285.144 -       orientation="vertical"
 285.145 -       position="-1.4285714"
 285.146 -       id="guide6022" />
 285.147 -  </sodipodi:namedview>
 285.148 -  <metadata
 285.149 -     id="metadata5976">
 285.150 -    <rdf:RDF>
 285.151 -      <cc:Work
 285.152 -         rdf:about="">
 285.153 -        <dc:format>image/svg+xml</dc:format>
 285.154 -        <dc:type
 285.155 -           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 285.156 -      </cc:Work>
 285.157 -    </rdf:RDF>
 285.158 -  </metadata>
 285.159 -  <g
 285.160 -     inkscape:label="Layer 1"
 285.161 -     inkscape:groupmode="layer"
 285.162 -     id="layer1">
 285.163 -    <g
 285.164 -       id="g6431"
 285.165 -       transform="translate(0,-0.137863)">
 285.166 -      <rect
 285.167 -         style="fill:url(#linearGradient6445);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 285.168 -         id="rect6047"
 285.169 -         width="174.36833"
 285.170 -         height="204.51619"
 285.171 -         x="94.198257"
 285.172 -         y="246.08011" />
 285.173 -      <rect
 285.174 -         y="266.38159"
 285.175 -         x="114.11369"
 285.176 -         height="44.537449"
 285.177 -         width="134.53746"
 285.178 -         id="rect5996"
 285.179 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 285.180 -      <text
 285.181 -         id="text5998"
 285.182 -         y="292.1423"
 285.183 -         x="138.7962"
 285.184 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.185 -         xml:space="preserve"><tspan
 285.186 -           style="font-family:Courier"
 285.187 -           y="292.1423"
 285.188 -           x="138.7962"
 285.189 -           id="tspan6000"
 285.190 -           sodipodi:role="line">e7639888bb2f</tspan></text>
 285.191 -      <rect
 285.192 -         y="328.04825"
 285.193 -         x="114.11369"
 285.194 -         height="44.537449"
 285.195 -         width="134.53746"
 285.196 -         id="rect6004"
 285.197 -         style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 285.198 -      <text
 285.199 -         id="text6006"
 285.200 -         y="353.80896"
 285.201 -         x="136.65421"
 285.202 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.203 -         xml:space="preserve"><tspan
 285.204 -           style="font-family:Courier"
 285.205 -           y="353.80896"
 285.206 -           x="136.65421"
 285.207 -           id="tspan6008"
 285.208 -           sodipodi:role="line">7b064d8bac5e</tspan></text>
 285.209 -      <path
 285.210 -         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 285.211 -         d="M 181.38242,311.29315 L 181.38242,327.67412"
 285.212 -         id="path6020"
 285.213 -         inkscape:connector-type="polyline"
 285.214 -         inkscape:connection-end="#rect6004" />
 285.215 -      <rect
 285.216 -         y="389.71487"
 285.217 -         x="114.11357"
 285.218 -         height="44.537449"
 285.219 -         width="134.53746"
 285.220 -         id="rect6039"
 285.221 -         style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
 285.222 -      <text
 285.223 -         id="text6041"
 285.224 -         y="415.47556"
 285.225 -         x="138.79707"
 285.226 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.227 -         xml:space="preserve"><tspan
 285.228 -           style="fill:#979797;fill-opacity:1;font-family:Courier"
 285.229 -           y="415.47556"
 285.230 -           x="138.79707"
 285.231 -           id="tspan6043"
 285.232 -           sodipodi:role="line">000000000000</tspan></text>
 285.233 -      <path
 285.234 -         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#686868;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
 285.235 -         d="M 181.38238,372.95981 L 181.38235,389.34087"
 285.236 -         id="path6045"
 285.237 -         inkscape:connector-type="polyline"
 285.238 -         inkscape:connection-end="#rect6039" />
 285.239 -    </g>
 285.240 -    <text
 285.241 -       xml:space="preserve"
 285.242 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.243 -       x="93.660484"
 285.244 -       y="231.36218"
 285.245 -       id="text6102"><tspan
 285.246 -         sodipodi:role="line"
 285.247 -         id="tspan6104"
 285.248 -         x="93.660484"
 285.249 -         y="231.36218">History in repository</tspan></text>
 285.250 -    <g
 285.251 -       id="g6416">
 285.252 -      <rect
 285.253 -         style="fill:url(#linearGradient6232);fill-opacity:1;stroke:#686868;stroke-width:0.66539276;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 285.254 -         id="rect6140"
 285.255 -         width="174.36833"
 285.256 -         height="204.51619"
 285.257 -         x="323.28412"
 285.258 -         y="245.94225" />
 285.259 -      <g
 285.260 -         transform="translate(28.32541,24.38544)"
 285.261 -         id="g6130">
 285.262 -        <rect
 285.263 -           y="257.95059"
 285.264 -           x="314.87415"
 285.265 -           height="44.537449"
 285.266 -           width="134.53746"
 285.267 -           id="rect6106"
 285.268 -           style="fill:#d4d4d4;fill-opacity:1;stroke:black;stroke-width:0.7482574;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.49651474, 0.74825737;stroke-dashoffset:0;stroke-opacity:1" />
 285.269 -        <text
 285.270 -           id="text6108"
 285.271 -           y="283.7113"
 285.272 -           x="339.55664"
 285.273 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.274 -           xml:space="preserve"><tspan
 285.275 -             style="font-family:Courier"
 285.276 -             y="283.7113"
 285.277 -             x="339.55664"
 285.278 -             id="tspan6110"
 285.279 -             sodipodi:role="line">e7639888bb2f</tspan></text>
 285.280 -      </g>
 285.281 -      <g
 285.282 -         transform="translate(29.03958,49.83106)"
 285.283 -         id="g6135">
 285.284 -        <rect
 285.285 -           y="326.52203"
 285.286 -           x="314.15985"
 285.287 -           height="44.537449"
 285.288 -           width="134.53746"
 285.289 -           id="rect6112"
 285.290 -           style="fill:#ededed;fill-opacity:1;stroke:#797979;stroke-width:0.74800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 285.291 -           inkscape:transform-center-x="129.28571"
 285.292 -           inkscape:transform-center-y="102.85714" />
 285.293 -        <text
 285.294 -           id="text6114"
 285.295 -           y="352.28271"
 285.296 -           x="338.84335"
 285.297 -           style="font-size:12px;font-style:normal;font-weight:normal;fill:#979797;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.298 -           xml:space="preserve"
 285.299 -           inkscape:transform-center-x="128.69672"
 285.300 -           inkscape:transform-center-y="102.7311"><tspan
 285.301 -             style="fill:#979797;fill-opacity:1;font-family:Courier"
 285.302 -             y="352.28271"
 285.303 -             x="338.84335"
 285.304 -             id="tspan6116"
 285.305 -             sodipodi:role="line">000000000000</tspan></text>
 285.306 -      </g>
 285.307 -      <text
 285.308 -         id="text6118"
 285.309 -         y="270.479"
 285.310 -         x="342.63208"
 285.311 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.312 -         xml:space="preserve"><tspan
 285.313 -           y="270.479"
 285.314 -           x="342.63208"
 285.315 -           id="tspan6120"
 285.316 -           sodipodi:role="line">First parent</tspan></text>
 285.317 -      <text
 285.318 -         id="text6122"
 285.319 -         y="364.49615"
 285.320 -         x="342.07544"
 285.321 -         style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.322 -         xml:space="preserve"><tspan
 285.323 -           y="364.49615"
 285.324 -           x="342.07544"
 285.325 -           id="tspan6124"
 285.326 -           sodipodi:role="line">Second parent</tspan></text>
 285.327 -    </g>
 285.328 -    <text
 285.329 -       xml:space="preserve"
 285.330 -       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman"
 285.331 -       x="322.61746"
 285.332 -       y="231.36218"
 285.333 -       id="text6195"><tspan
 285.334 -         sodipodi:role="line"
 285.335 -         id="tspan6197"
 285.336 -         x="322.61746"
 285.337 -         y="231.36218">Parents of working directory</tspan></text>
 285.338 -    <path
 285.339 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
 285.340 -       d="M 342.82543,299.89384 L 249.02528,293.36123"
 285.341 -       id="path6266"
 285.342 -       inkscape:connector-type="polyline"
 285.343 -       inkscape:connection-start="#g6130"
 285.344 -       inkscape:connection-end="#rect5996" />
 285.345 -    <path
 285.346 -       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 285.347 -       d="M 665.12232,418.17579 L 665.12232,418.17579"
 285.348 -       id="path6270"
 285.349 -       inkscape:connector-type="polyline" />
 285.350 -  </g>
 285.351 -</svg>
   286.1 --- a/stylesheets/base-html-stylesheet.xsl	Fri Mar 20 17:17:55 2009 +0800
   286.2 +++ b/stylesheets/base-html-stylesheet.xsl	Mon Mar 30 16:23:33 2009 +0800
   286.3 @@ -106,7 +106,7 @@
   286.4    </xsl:template>
   286.5  
   286.6    <xsl:template name="user.footer.content">
   286.7 -    <div class="rwhfooter">
   286.8 +    <div class="hgfooter">
   286.9        <p><img src="/support/figs/rss.png"/> Want to stay up to date? Subscribe to the comment feed for <a id="chapterfeed" class="feed" href="/feeds/comments/">this chapter</a>, or the <a class="feed" href="/feeds/comments/">entire book</a>.</p>
  286.10        <p>Copyright 2006, 2007, 2008, 2009 Bryan O'Sullivan.
  286.11        Icons by <a href="mailto:mattahan@gmail.com">Paul Davey</a> aka <a href="http://mattahan.deviantart.com/">Mattahan</a>.</p>
   287.1 --- a/web/README	Fri Mar 20 17:17:55 2009 +0800
   287.2 +++ b/web/README	Mon Mar 30 16:23:33 2009 +0800
   287.3 @@ -1,5 +1,5 @@
   287.4  This directory contains web-related files.  Surprise!
   287.5  
   287.6  javascript - files used by the comment system, based on jQuery
   287.7 -rwh        - Django app that acts as the comment back end
   287.8 +hgbook     - Django app that acts as the comment back end
   287.9  styles.css - style file
   288.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   288.2 +++ b/web/genindex.py	Mon Mar 30 16:23:33 2009 +0800
   288.3 @@ -0,0 +1,60 @@
   288.4 +#!/usr/bin/env python
   288.5 +
   288.6 +import glob, os, re
   288.7 +
   288.8 +chapter_re = re.compile(r'<(chapter|appendix|preface)\s+id="([^"]+)">')
   288.9 +filename_re = re.compile(r'<\?dbhtml filename="([^"]+)"\?>')
  288.10 +title_re = re.compile(r'<title>(.*)</title>')
  288.11 +
  288.12 +chapters = glob.glob('../en/ch*.xml') + glob.glob('../en/app*.xml')
  288.13 +
  288.14 +fp = open('index-read.html.in', 'w')
  288.15 +
  288.16 +print >> fp, '''<!-- -*- html -*- -->
  288.17 +{% extends "boilerplate.html" %}
  288.18 +{% block bodycontent %}
  288.19 +<div class="navheader"><h1 class="booktitle">Mercurial: The Definitive Guide<div class="authors">by Bryan O'Sullivan</div></h1></div>
  288.20 +<div class="book"><ul class="booktoc">'''
  288.21 +
  288.22 +ch = 0
  288.23 +app = 0
  288.24 +ab = 0
  288.25 +for c in chapters:
  288.26 +    filename = None
  288.27 +    title = None
  288.28 +    chapid = None
  288.29 +    chaptype = None
  288.30 +    for line in open(c):
  288.31 +        m = chapter_re.search(line)
  288.32 +        if m:
  288.33 +            chaptype, chapid = m.groups()
  288.34 +        m = filename_re.search(line)
  288.35 +        if m:
  288.36 +            filename = m.group(1)
  288.37 +        m = title_re.search(line)
  288.38 +        if m:
  288.39 +            title = m.group(1)
  288.40 +        if filename and title and chapid:
  288.41 +            if chaptype == 'appendix':
  288.42 +                num = chr(ord('A') + app)
  288.43 +                app += 1
  288.44 +            else:
  288.45 +                num = ch
  288.46 +                ch += 1
  288.47 +            ab += 1
  288.48 +            date = os.popen('hg log -l1 --template "{date|isodate}" ' + c).read().split(None, 1)[0]
  288.49 +            args = {
  288.50 +                'ab': "ab"[ab % 2],
  288.51 +                'date': date,
  288.52 +                'chapid': chapid,
  288.53 +                'num': num,
  288.54 +                'filename': filename,
  288.55 +                'title': title,
  288.56 +                }
  288.57 +            print >> fp, '<li class="zebra_%(ab)s"><span class="chapinfo">%(date)s<a href="/feeds/comments/%(chapid)s/"><img src="/support/figs/rss.png"/></a></span>%(num)s. <a href="%(filename)s">%(title)s</a></li>' % args
  288.58 +            break
  288.59 +
  288.60 +print >> fp, '''</ul></div>
  288.61 +{% endblock %}'''
  288.62 +
  288.63 +fp.close()
   289.1 --- a/web/hgbook.conf	Fri Mar 20 17:17:55 2009 +0800
   289.2 +++ b/web/hgbook.conf	Mon Mar 30 16:23:33 2009 +0800
   289.3 @@ -1,7 +1,7 @@
   289.4  # -*- apache -*-
   289.5  
   289.6  <VirtualHost *:80>
   289.7 -    ServerName www.hgbook.org
   289.8 +    ServerName hgbook.red-bean.com
   289.9      ServerAdmin bos@serpentine.com
  289.10      ErrorLog logs/hgbook-error_log
  289.11      # Debian:
  289.12 @@ -12,10 +12,33 @@
  289.13      DirectoryIndex index.html.var index.html
  289.14      DocumentRoot "/home/bos/hg/hgbook/en/html"
  289.15  
  289.16 +    Redirect permanent /hgbook.html /index.html
  289.17 +    Redirect permanent /hgbookch1.html /read/preface.html
  289.18 +    Redirect permanent /hgbookch2.html /read/a-tour-of-mercurial-the-basics.html
  289.19 +    Redirect permanent /hgbookch3.html /read/a-tour-of-mercurial-merging-work.html
  289.20 +    Redirect permanent /hgbookch4.html /read/behind-the-scenes.html
  289.21 +    Redirect permanent /hgbookch5.html /read/mercurial-in-daily-use.html
  289.22 +    Redirect permanent /hgbookch6.html /read/file-names-and-pattern-matching.html
  289.23 +    Redirect permanent /hgbookch6.html /read/managing-releases-and-branchy-development.html
  289.24 +    Redirect permanent /hgbookch7.html /read/finding-and-fixing-mistakes.html
  289.25 +    Redirect permanent /hgbookch8.html /read/handling-repository-events-with-hooks.html
  289.26 +    Redirect permanent /hgbookch9.html /read/customizing-the-output-of-mercurial.html
  289.27 +    Redirect permanent /hgbookch10.html /read/managing-change-with-mercurial-queues.html
  289.28 +    Redirect permanent /hgbookch11.html /read/advanced-uses-of-mercurial-queues.html
  289.29 +    Redirect permanent /hgbookch12.html /read/adding-functionality-with-extensions.html
  289.30 +    Redirect permanent /hgbookap1.html /read/command-reference.html
  289.31 +    Redirect permanent /hgbookap2.html /read/mercurial-queues-reference.html
  289.32 +    Redirect permanent /hgbookap3.html /read/installing-mercurial-from-source.html
  289.33 +    Redirect permanent /hgbookap4.html /read/open-publication-license.html
  289.34 +    Redirect permanent /hgbookli1.html /read/index.html
  289.35 +    Redirect permanent /hgbookli2.html /read/index.html
  289.36 +    Redirect permanent /hgbookli3.html /read/index.html
  289.37 +    Redirect permanent /hgbookli4.html /read/index.html
  289.38 +
  289.39      # Actively redirect requests via a ServerAlias to the canonical hostname.
  289.40      RewriteEngine On
  289.41 -    RewriteCond %{HTTP_HOST} !=www.hgbook.org
  289.42 -    RewriteRule ^(.*) http://www.hgbook.org$1 [R]
  289.43 +    RewriteCond %{HTTP_HOST} !=hgbook.red-bean.com
  289.44 +    RewriteRule ^(.*) http://hgbook.red-bean.com$1 [R]
  289.45  
  289.46      <Location "/">
  289.47          SetHandler python-program
   290.1 --- a/web/hgbook/reviewers.py	Fri Mar 20 17:17:55 2009 +0800
   290.2 +++ b/web/hgbook/reviewers.py	Mon Mar 30 16:23:33 2009 +0800
   290.3 @@ -52,7 +52,7 @@
   290.4  total = 0
   290.5  for r in c.fetchall():
   290.6      r = r[0].decode('utf-8')
   290.7 -    if r in ("Bryan O'Sullivan", 'John Goerzen', 'Don Stewart'):
   290.8 +    if r in ("Bryan O'Sullivan",):
   290.9          continue
  290.10      total += 1
  290.11      m = mappings.get(r.lower())
   291.1 --- a/web/hgbook/templates/boilerplate.html	Fri Mar 20 17:17:55 2009 +0800
   291.2 +++ b/web/hgbook/templates/boilerplate.html	Mon Mar 30 16:23:33 2009 +0800
   291.3 @@ -1,7 +1,7 @@
   291.4  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
   291.5  <html>
   291.6    <head>
   291.7 -    <title>{% block pagetitle %}Real World Haskell{% endblock %}</title>
   291.8 +    <title>{% block pagetitle %}Mercurial: The Definitive Guide{% endblock %}</title>
   291.9      <link rel="stylesheet" href="/support/styles.css" type="text/css"/>
  291.10      <link rel="alternate" type="application/atom+xml" title="Comments"
  291.11        href="/feeds/comments/"/>
  291.12 @@ -18,10 +18,8 @@
  291.13  	up to date? Subscribe to comment feeds for any chapter, or
  291.14  	the <a class="feed"
  291.15  	  href="/feeds/comments/">entire book</a>.</p> <p>Copyright
  291.16 -	2007, 2008 Bryan O'Sullivan, Don Stewart, and John Goerzen. This
  291.17 -	work is licensed under a <a rel="license" href=
  291.18 -	  "http://creativecommons.org/licenses/by-nc/3.0/">Creative
  291.19 -	  Commons Attribution-Noncommercial 3.0 License</a>. Icons by
  291.20 +	2006, 2007, 2008, 2009 Bryan O'Sullivan.
  291.21 +	  Icons by
  291.22  	  <a href="mailto:mattahan@gmail.com">Paul Davey</a> aka <a
  291.23  	  href="http://mattahan.deviantart.com/">Mattahan</a>.</p>
  291.24      </div>
   292.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   292.2 +++ b/web/index.html.in	Mon Mar 30 16:23:33 2009 +0800
   292.3 @@ -0,0 +1,65 @@
   292.4 +<!-- -*- html -*- -->
   292.5 +{% extends "boilerplate.html" %}
   292.6 +
   292.7 +{% block bodycontent %}
   292.8 +<div class="navheader"><h1 class="booktitle">Mercurial: The Definitive Guide<div class="authors">by Bryan O'Sullivan</div></h1></div>
   292.9 +
  292.10 +<div class="book">
  292.11 +  <h2>Welcome to Mercurial: The Definitive Guide</h2>
  292.12 +
  292.13 +  <p>This is the online home of the book &#8220;Mercurial: The
  292.14 +    Definitive Guide&#8221;.  
  292.15 +    It will be published in 2009 by O'Reilly Media.</p>
  292.16 +
  292.17 +  <p>I make the content <a href="/read/">freely available
  292.18 +      online</a>.  If you like it, please make a note to buy a copy!</p>
  292.19 +
  292.20 +  <p>For news updates, please
  292.21 +    visit <a href="http://www.serpentine.com/blog/">my blog</a>.</p>
  292.22 +
  292.23 +  <h2>You can contribute!</h2>
  292.24 +
  292.25 +  <p>I publish the <a href="http://hgbook.red-bean.com/">source
  292.26 +      code</a> for this book as a Mercurial repository.  Please feel
  292.27 +    welcome to clone it, make modifications to your copy, and send me
  292.28 +    changes.</p>
  292.29 +
  292.30 +  <p>The online version of the book includes a comment system
  292.31 +    that you can use to send feedback involving errors, omissions, and
  292.32 +    suggestions.</p>
  292.33 +
  292.34 +  <p>(If you would like to adapt the comment system for a
  292.35 +    publishing project of your own, the source for the web application
  292.36 +    is included with the book source at the link above.)</p>
  292.37 +
  292.38 +  <h2>What is Mercurial?</h2>
  292.39 +
  292.40 +  <p><a href="http://www.selenic.com/mercurial">Mercurial</a> is a
  292.41 +    fast, lightweight source control management system
  292.42 +    designed for easy and efficient handling of very large distributed
  292.43 +    projects.</p>
  292.44 +
  292.45 +  <h2>How I help Mercurial and free software, and you can too</h2>
  292.46 +
  292.47 +  <p>Mercurial is a member of the <a href="http://conservancy.softwarefreedom.org/">Software Freedom Conservancy</a>, a
  292.48 +    wonderful non-profit organisation that offers its member projects
  292.49 +    legal and administrative advice.</p>
  292.50 +
  292.51 +  <p>I am donating my royalties from the sales of this book (once it is
  292.52 +    published) to the Software Freedom Conservancy, and I encourage
  292.53 +    you to support their work, too.</p>
  292.54 +
  292.55 +  <p>The SFC can
  292.56 +    accept <a href="http://conservancy.softwarefreedom.org/?donate">accept
  292.57 +    donations</a> (tax-free under IRS 501(c)(3), within the United
  292.58 +    States) on behalf of its member projects. If you would like to
  292.59 +    support Mercurial directly, please consider making a donation to
  292.60 +    the SFC on its behalf.</p>
  292.61 +
  292.62 +  <p>If you would like to help free software developers to provide
  292.63 +    their important public services without being impeded by legal
  292.64 +    issues, please consider donating to the SFC's sister organisation,
  292.65 +    the <a href="http://www.softwarefreedom.org/">Software Freedom Law
  292.66 +    Center</a>.</p>
  292.67 +</div>
  292.68 +{% endblock %}
   293.1 --- a/web/styles.css	Fri Mar 20 17:17:55 2009 +0800
   293.2 +++ b/web/styles.css	Mon Mar 30 16:23:33 2009 +0800
   293.3 @@ -269,7 +269,7 @@
   293.4    color: darkred;
   293.5  }
   293.6  
   293.7 -.rwhfooter {
   293.8 +.hgfooter {
   293.9    width: 60em;
  293.10    margin-left: auto;
  293.11    margin-right: auto;
  293.12 @@ -279,14 +279,14 @@
  293.13    color: #727272;
  293.14  }
  293.15  
  293.16 -.rwhfooter a {
  293.17 +.hgfooter a {
  293.18    color: #5555ff;
  293.19  }
  293.20  
  293.21 -.rwhfooter a:visited {
  293.22 +.hgfooter a:visited {
  293.23    opacity: 0.7;
  293.24  }
  293.25  
  293.26 -.rwhfooter img {
  293.27 +.hgfooter img {
  293.28    vertical-align: -45%;
  293.29  }
   294.1 --- a/web/texpand.py	Fri Mar 20 17:17:55 2009 +0800
   294.2 +++ b/web/texpand.py	Mon Mar 30 16:23:33 2009 +0800
   294.3 @@ -7,7 +7,7 @@
   294.4  from django.template import Context, TemplateDoesNotExist
   294.5  from django.template.loader import get_template, get_template_from_string
   294.6  from django.core.management import setup_environ
   294.7 -import rwh.settings as settings
   294.8 +import hgbook.settings as settings
   294.9  import sys
  294.10  
  294.11  setup_environ(settings)