Commits

Bryan O'Sullivan committed bebd5ff

And there was much tidying, and the result was good.

Comments (0)

Files changed (50)

en/99book.bib

-@Unpublished{gruenbacher:2005,
-  author = 	 {Andreas Gruenbacher},
-  title = 	 {How To Survive With Many Patches (Introduction to \texttt{quilt})},
-  year = 	 {2005},
-  month = 	 {June},
-  note =         {\url{http://www.suse.de/~agruen/quilt.pdf}},
-}
-
-@InProceedings{web:europython,
-  author = 	 {Bryan O'Sullivan},
-  title = 	 {Achieving High Performance in Mercurial},
-  booktitle = 	 {EuroPython Conference},
-  year = 	 {2006},
-  month = 	 {July},
-  note = 	 {\url{XXX}},
-}
-
-@Misc{web:diffstat,
-  author = 	 {Thomas Dickey},
-  title = 	 {\texttt{diffstat}--make a histogram of \texttt{diff} output},
-  note = 	 {\url{http://dickey.his.com/diffstat/diffstat.html}},
-}
-
-@Misc{web:quilt,
-  author = 	 {Andreas Gruenbacher, Martin Quinson, Jean Delvare},
-  title = 	 {Patchwork Quilt},
-  note = 	 {\url{http://savannah.nongnu.org/projects/quilt}},
-}
-
-@Misc{web:patchutils,
-  author = 	 {Tim Waugh},
-  title = 	 {\texttt{patchutils}--programs that operate on patch files},
-  note = 	 {\url{http://cyberelk.net/tim/patchutils/}},
-}
-
-@Misc{web:mpatch,
-  author = 	 {Chris Mason},
-  title = 	 {\texttt{mpatch}--help solve patch rejects},
-  note = 	 {\url{http://oss.oracle.com/~mason/mpatch/}},
-}
-
-@Misc{web:wiggle,
-  author = 	 {Neil Brown},
-  title = 	 {\texttt{wiggle}--apply conflicting patches},
-  note = 	 {\url{http://cgi.cse.unsw.edu.au/~neilb/source/wiggle/}},
-}
-
-@Misc{web:mysql-python,
-  author =	 {Andy Dustman},
-  title =	 {MySQL for Python},
-  note =	 {\url{http://sourceforge.net/projects/mysql-python}},
-}
-
-@Misc{web:changelog,
-  author =	 {Richard Stallman, GNU Project volunteers},
-  title =	 {GNU Coding Standards---Change Logs},
-  note =	 {\url{http://www.gnu.org/prep/standards/html_node/Change-Logs.html}},
-}
-
-@Misc{web:macpython,
-  author =	 {Bob Ippolito, Ronald Oussoren},
-  title =	 {Universal MacPython},
-  note =	 {\url{http://bob.pythonmac.org/archives/2006/04/10/python-and-universal-binaries-on-mac-os-x/}},
-}
-
-@Misc{web:putty,
-  author =	 {Simon Tatham},
-  title =	 {PuTTY---open source ssh client for Windows},
-  note =	 {\url{http://www.chiark.greenend.org.uk/~sgtatham/putty/}},
-}
-
-@Misc{web:configparser,
-  author =       {Python.org},
-  title =	 {\texttt{ConfigParser}---Configuration file parser},
-  note =	 {\url{http://docs.python.org/lib/module-ConfigParser.html}},
-}
 	tour \
 	tour-merge-conflict
 
+obj-web := html
+obj-websup := html/support
+
+extras-web-base := \
+	$(obj-web)/index.html \
+	$(obj-web)/robots.txt \
+	$(obj-websup)/form-min.js \
+	$(obj-websup)/form.js \
+	$(obj-websup)/hsbook.js \
+	$(obj-websup)/jquery-min.js \
+	$(obj-websup)/jquery.js \
+	$(obj-websup)/styles.css
+
+extras-web := $(extras-web-base) $(extras-web-base:%=%.gz)
+
 xsltproc := xsltproc
 xsltproc-opts := --nonet --xinclude --path '$(xml-path)'
 
 hg-version = $(shell hg version -q | \
 		     sed 's,.*(version \(unknown\|[a-f0-9+]*\)),\1,')
 
-all: html
+all: web
 
 ../xsl/system-xsl: $(system-xsl-dir)
 	ln -s $< $@
 
+web: websup html
+
 html: ../xsl/system-xsl $(xml-src-files) valid
-	xsltproc $(xsltproc-opts) -o html/x ../xsl/chunk-stylesheet.xsl 00book.xml
+	xsltproc $(xsltproc-opts) -o html/read/x ../xsl/chunk-stylesheet.xsl 00book.xml
+	for i in html/read/*.html; do \
+	  gzip -9 -c $$i > $$i.gz; \
+	done
+
+websup: $(extras-web)
+	mkdir -p $(obj-websup)/figs
+	cp ../xsl/system-xsl/images/*.png $(obj-websup)/figs
+	cp -f ../web/icons/*.png $(obj-websup)/figs
+
+web: websup
 
 valid: .validated-00book.xml
 
 
 rsync: install
 	rsync -avz --delete dist sp.red-bean.com:public_html/hgbook
+
+vpath %.css ../web
+vpath %.js ../web/javascript
+
+$(obj-websup)/%.css: %.css
+	@mkdir -p $(dir $@)
+	cp $< $@
+
+$(obj-websup)/%.jpg: %.jpg
+	@mkdir -p $(dir $@)
+	cp $< $@
+
+$(obj-websup)/%.js: %.js
+	@mkdir -p $(dir $@)
+	cp $< $@
+
+$(obj-web)/%: ../web/%
+	@mkdir -p $(dir $@)
+	cp $< $@
+
+$(obj-web)/%.html: %.html.in
+	@mkdir -p $(dir $@)
+	python ../web/texpand.py $< $@
+
+%.gz: %
+	gzip -9 -c $< > $@

en/bookhtml.cfg

-% -*- latex -*-
-
-\Preamble{xhtml}
-
-% Tex4ht's default definition of lists is complete crap.
-% Unfortunately, it can't distinguish between "ul" and "dl" lists.
-
-\ConfigureList{itemize}%
-   {\EndP\HCode{<ul>}\let\endItem=\empty}
-   {\ifvmode \IgnorePar\fi
-    \EndP\HCode{</li></ul>}\ShowPar}
-   {\endItem \def\endItem{\EndP\Tg</span>}\HCode{<li><span class="dt">}}
-   {\HCode{</span><span class="dd">}}
-\def\textbullet{}
-
-\begin{document}
-
-\EndPreamble

en/feature-branches.dot

-digraph feature_branches {
-	master -> crypto;
-	master -> filesystems;
-	master -> ipc;
-	master -> memory;
-	master -> network;
-	master -> security;
-}

en/figs/feature-branches.dot

+digraph feature_branches {
+	master -> crypto;
+	master -> filesystems;
+	master -> ipc;
+	master -> memory;
+	master -> network;
+	master -> security;
+}
Added
New image
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   sodipodi:docname="filelog.svg"
+   sodipodi:docbase="/home/arun/hgbook/en"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;">
+      <path
+         id="path3128"
+         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 "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <linearGradient
+       id="linearGradient2887">
+      <stop
+         style="stop-color:#91cfcf;stop-opacity:1;"
+         offset="0"
+         id="stop2889" />
+      <stop
+         style="stop-color:aqua;stop-opacity:0;"
+         offset="1"
+         id="stop2891" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2795">
+      <stop
+         style="stop-color:#ccc;stop-opacity:1;"
+         offset="0"
+         id="stop2797" />
+      <stop
+         style="stop-color:#ccc;stop-opacity:0;"
+         offset="1"
+         id="stop2799" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3170"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(121.2183,94.95434)"
+       x1="81.322357"
+       y1="404.34424"
+       x2="201.52036"
+       y2="373.03967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3172"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,12)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3174"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
+       x1="81.322357"
+       y1="404.34424"
+       x2="201.52036"
+       y2="373.03967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3176"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,12)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3208"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.001035,0,0,0.653159,236.7075,153.0415)"
+       x1="81.322357"
+       y1="404.34424"
+       x2="201.52036"
+       y2="373.03967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3210"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,12)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3212"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(121.2183,94.95434)"
+       x1="81.322357"
+       y1="404.34424"
+       x2="201.52036"
+       y2="373.03967" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3214"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,12)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3256"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2343775,0,0,0.9981848,103.25588,95.681888)"
+       x1="74.301666"
+       y1="431.67441"
+       x2="260.05884"
+       y2="369.95322" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3258"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.228929,0,0,0.9972824,-62.037003,13.312997)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="linearGradient3260"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2300738,0,0,0.6517275,219.97511,153.61527)"
+       x1="74.387527"
+       y1="431.80576"
+       x2="259.97339"
+       y2="369.82224" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2887"
+       id="linearGradient3262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2289272,0,0,0.9972824,-62.036756,13.312985)"
+       x1="62.634491"
+       y1="503.3392"
+       x2="248.49242"
+       y2="462.94327" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="455.8122"
+     inkscape:cy="520"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1680"
+     inkscape:window-height="970"
+     inkscape:window-x="0"
+     inkscape:window-y="54" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       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"
+       id="rect3180"
+       width="273.81375"
+       height="199.06245"
+       x="369.1796"
+       y="351.79019" />
+    <rect
+       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"
+       id="rect3178"
+       width="273.81339"
+       height="199.06233"
+       x="72.699799"
+       y="351.78983" />
+    <g
+       id="g3144"
+       transform="translate(80.467048,0.71578)">
+      <g
+         id="g2940">
+        <rect
+           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"
+           id="rect2914"
+           width="227.38896"
+           height="39.500999"
+           x="311.92496"
+           y="395.08627" />
+        <text
+           xml:space="preserve"
+           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"
+           x="323.72824"
+           y="416.7626"
+           id="text2918"><tspan
+             sodipodi:role="line"
+             id="tspan2920"
+             x="323.72824"
+             y="416.7626"
+             style="font-family:Courier">.hg/store/data/README.i</tspan></text>
+      </g>
+      <g
+         transform="translate(3.79093e-5,-80.1853)"
+         id="g2945">
+        <g
+           id="g2955">
+          <rect
+             y="475.4968"
+             x="15.550935"
+             height="39.500999"
+             width="227.17694"
+             id="rect2947"
+             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" />
+          <text
+             id="text2949"
+             y="498.35123"
+             x="31.230644"
+             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"
+             xml:space="preserve"><tspan
+               style="font-family:Courier"
+               y="498.35123"
+               x="31.230644"
+               id="tspan2951"
+               sodipodi:role="line">README</tspan></text>
+        </g>
+      </g>
+      <path
+         inkscape:connector-type="polyline"
+         id="path2960"
+         d="M 242.94685,414.91115 C 242.94685,414.91115 293.61127,415.26754 310.16269,415.38633"
+         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"
+         sodipodi:nodetypes="cz" />
+    </g>
+    <g
+       id="g3156"
+       transform="translate(80.467048,0.71578)">
+      <g
+         transform="translate(116,0)"
+         id="g2831">
+        <rect
+           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"
+           id="rect1906"
+           width="228.18446"
+           height="60.499123"
+           x="195.52719"
+           y="465.51859" />
+        <g
+           id="g2803"
+           transform="translate(-0.893671,1.833581)">
+          <text
+             id="text1884"
+             y="483.92801"
+             x="208.95944"
+             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"
+             xml:space="preserve"><tspan
+               style="font-family:Courier"
+               y="483.92801"
+               x="208.95944"
+               id="tspan1886"
+               sodipodi:role="line">.hg/store/data/src/hello.c.d</tspan></text>
+          <text
+             id="text1888"
+             y="507.79309"
+             x="208.95944"
+             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"
+             xml:space="preserve"><tspan
+               style="font-family:Courier"
+               y="507.79309"
+               x="208.95944"
+               id="tspan1890"
+               sodipodi:role="line">.hg/store/data/src/hello.c.i</tspan></text>
+        </g>
+      </g>
+      <g
+         id="g2907">
+        <rect
+           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"
+           id="rect2843"
+           width="227.17728"
+           height="39.500999"
+           x="15.550805"
+           y="475.4968" />
+        <text
+           xml:space="preserve"
+           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"
+           x="31.230644"
+           y="498.35123"
+           id="text2847"><tspan
+             sodipodi:role="line"
+             id="tspan2849"
+             x="31.230644"
+             y="498.35123"
+             style="font-family:Courier">src/hello.c</tspan></text>
+      </g>
+      <path
+         inkscape:connection-end="#g2831"
+         inkscape:connection-start="#g2907"
+         inkscape:connector-type="polyline"
+         id="path2962"
+         d="M 242.4315,495.88043 C 242.4315,495.88043 292.8861,495.99942 310.04102,496.03909"
+         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"
+         sodipodi:nodetypes="cs" />
+    </g>
+    <text
+       xml:space="preserve"
+       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"
+       x="98.496666"
+       y="373.96353"
+       id="text3216"><tspan
+         sodipodi:role="line"
+         id="tspan3218"
+         x="98.496666"
+         y="373.96353">Working directory</tspan></text>
+    <text
+       xml:space="preserve"
+       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"
+       x="391.39197"
+       y="373.96353"
+       id="text3228"><tspan
+         sodipodi:role="line"
+         id="tspan3230"
+         x="391.39197"
+         y="373.96353">Repository</tspan></text>
+  </g>
+</svg>

en/figs/kdiff3.png

Added
New image
Added
New image
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docname="metadata.svg"
+   sodipodi:docbase="/home/bos/hg/hgbook/en">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;">
+      <path
+         id="path2944"
+         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 "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="232.14286"
+     inkscape:cy="490.68696"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="906"
+     inkscape:window-height="620"
+     inkscape:window-x="181"
+     inkscape:window-y="58" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       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"
+       d="M 326.94646,467.18359 L 326.94646,510.98123"
+       id="path1910"
+       inkscape:connector-type="polyline"
+       inkscape:connection-end="#rect2962"
+       inkscape:connection-start="#rect2764" />
+    <path
+       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"
+       d="M 326.94646,531.98123 L 326.94646,591.77887"
+       id="path1912"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect2962"
+       inkscape:connection-end="#rect3000" />
+    <path
+       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"
+       d="M 316.1622,531.98123 L 192.30212,652.57648"
+       id="path1916"
+       inkscape:connector-type="polyline"
+       inkscape:connection-end="#rect3038"
+       inkscape:connection-start="#rect2962" />
+    <path
+       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"
+       d="M 254.23217,467.18359 L 254.23216,510.98123"
+       id="path3088"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect1872"
+       inkscape:connection-end="#rect2960" />
+    <path
+       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"
+       d="M 254.23215,531.98123 L 254.23215,591.77887"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect2960"
+       inkscape:connection-end="#rect2998" />
+    <path
+       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"
+       d="M 248.84002,531.98123 L 186.90999,652.57648"
+       id="path3092"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect2960"
+       inkscape:connection-end="#rect3038" />
+    <rect
+       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"
+       id="rect1872"
+       width="51.42857"
+       height="20"
+       x="228.51788"
+       y="446.68359" />
+    <rect
+       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"
+       id="rect2764"
+       width="51.42857"
+       height="20"
+       x="301.23218"
+       y="446.68359" />
+    <rect
+       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"
+       id="rect2766"
+       width="51.42857"
+       height="20"
+       x="155.80359"
+       y="446.68359" />
+    <rect
+       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"
+       id="rect2768"
+       width="51.42857"
+       height="20"
+       x="83.089294"
+       y="446.68359" />
+    <path
+       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"
+       d="M 135.01786,456.68359 L 155.30359,456.68359"
+       id="path2770"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect2768"
+       inkscape:connection-end="#rect2766" />
+    <path
+       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"
+       d="M 207.73216,456.68359 L 228.01788,456.68359"
+       id="path2772"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect2766"
+       inkscape:connection-end="#rect1872" />
+    <path
+       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"
+       d="M 280.44645,456.68359 L 300.73218,456.68359"
+       id="path2774"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#rect1872"
+       inkscape:connection-end="#rect2764" />
+    <path
+       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"
+       d="M 62.303571,456.68359 L 82.589294,456.68359"
+       id="path2778"
+       inkscape:connector-type="polyline"
+       inkscape:connection-end="#rect2768" />
+    <rect
+       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"
+       id="rect2960"
+       width="51.42857"
+       height="20"
+       x="228.51787"
+       y="511.48123" />
+    <rect
+       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"
+       id="rect2962"
+       width="51.42857"
+       height="20"
+       x="301.23218"
+       y="511.48123" />
+    <rect
+       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"
+       id="rect2964"
+       width="51.42857"
+       height="20"
+       x="155.80357"
+       y="511.48123" />
+    <rect
+       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"
+       id="rect2966"
+       width="51.42857"
+       height="20"
+       x="83.089287"
+       y="511.48123" />
+    <path
+       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"
+       d="M 135.01786,521.48121 L 155.30359,521.48121"
+       id="path2968"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 207.73216,521.48121 L 228.01788,521.48121"
+       id="path2970"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 280.44645,521.48121 L 300.73218,521.48121"
+       id="path2972"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 62.30358,521.48121 L 82.5893,521.48121"
+       id="path2974"
+       inkscape:connector-type="polyline" />
+    <rect
+       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"
+       id="rect2998"
+       width="51.42857"
+       height="20"
+       x="228.51787"
+       y="592.27887" />
+    <rect
+       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"
+       id="rect3000"
+       width="51.42857"
+       height="20"
+       x="301.23218"
+       y="592.27887" />
+    <rect
+       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"
+       id="rect3002"
+       width="51.42857"
+       height="20"
+       x="155.80357"
+       y="592.27887" />
+    <rect
+       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"
+       id="rect3004"
+       width="51.42857"
+       height="20"
+       x="83.089287"
+       y="592.27887" />
+    <path
+       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"
+       d="M 135.01786,602.27884 L 155.30359,602.27884"
+       id="path3006"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 207.73216,602.27884 L 228.01788,602.27884"
+       id="path3008"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 280.44645,602.27884 L 300.73218,602.27884"
+       id="path3010"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 62.30358,602.27884 L 82.5893,602.27884"
+       id="path3012"
+       inkscape:connector-type="polyline" />
+    <rect
+       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"
+       id="rect3034"
+       width="51.42857"
+       height="20"
+       x="228.51787"
+       y="653.07648" />
+    <rect
+       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"
+       id="rect3038"
+       width="51.42857"
+       height="20"
+       x="155.80357"
+       y="653.07648" />
+    <rect
+       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"
+       id="rect3040"
+       width="51.42857"
+       height="20"
+       x="83.089287"
+       y="653.07648" />
+    <path
+       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"
+       d="M 135.01786,663.07646 L 155.30359,663.07646"
+       id="path3042"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 207.73216,663.07646 L 228.01788,663.07646"
+       id="path3044"
+       inkscape:connector-type="polyline" />
+    <path
+       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"
+       d="M 62.30358,663.07646 L 82.5893,663.07646"
+       id="path3048"
+       inkscape:connector-type="polyline" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;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"
+       x="82.072548"
+       y="432.64789"
+       id="text3094"><tspan
+         sodipodi:role="line"
+         id="tspan3096"
+         x="82.072548"
+         y="432.64789">Changelog</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;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"
+       x="82.306923"
+       y="498.97327"
+       id="text3098"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="82.306923"
+         y="498.97327">Manifest</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;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"
+       x="82.14286"
+       y="580.08569"
+       id="text3102"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="82.14286"
+         y="580.08569">Filelogs</tspan></text>
+  </g>
+</svg>
Added
New image
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   sodipodi:docname="mq-stack.svg"
+   sodipodi:docbase="/home/bos/hg/hgbook/en">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4142136"
+     inkscape:cx="299.33323"
+     inkscape:cy="815.646"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1014"
+     inkscape:window-height="689"
+     inkscape:window-x="0"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       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"
+       id="rect1307"
+       width="202.93683"
+       height="24.243662"
+       x="230.01944"
+       y="221.70146" />
+    <text
+       xml:space="preserve"
+       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"
+       x="237.89606"
+       y="237.13383"
+       id="text1309"><tspan
+         sodipodi:role="line"
+         id="tspan1311"
+         x="237.89606"
+         y="237.13383">prevent-compiler-reorder.patch</tspan></text>
+    <rect
+       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"
+       id="rect1320"
+       width="202.93683"
+       height="24.243662"
+       x="230.01936"
+       y="251.34325" />
+    <text
+       xml:space="preserve"
+       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"
+       x="237.89598"
+       y="266.77563"
+       id="text1322"><tspan
+         sodipodi:role="line"
+         id="tspan1324"
+         x="237.89598"
+         y="266.77563">namespace-cleanup.patch</tspan></text>
+    <rect
+       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"
+       id="rect2217"
+       width="202.93683"
+       height="24.243662"
+       x="230.01936"
+       y="280.98505" />
+    <text
+       xml:space="preserve"
+       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"
+       x="237.89598"
+       y="296.41742"
+       id="text2219"><tspan
+         sodipodi:role="line"
+         id="tspan2221"
+         x="237.89598"
+         y="296.41742">powerpc-port-fixes.patch</tspan></text>
+    <rect
+       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"
+       id="rect3114"
+       width="202.93683"
+       height="24.243662"
+       x="230.01936"
+       y="310.6268" />
+    <text
+       xml:space="preserve"
+       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"
+       x="237.89598"
+       y="326.05917"
+       id="text3116"><tspan
+         sodipodi:role="line"
+         id="tspan3118"
+         x="237.89598"
+         y="326.05917">report-devinfo-correctly.patch</tspan></text>
+    <text
+       xml:space="preserve"
+       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"
+       x="200.01021"
+       y="191.68094"
+       id="text3170"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3172"
+         x="200.01021"
+         y="191.68094"
+         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>
+    <text
+       xml:space="preserve"
+       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"
+       x="255.26627"
+       y="248.79449"
+       id="text3190"
+       sodipodi:linespacing="125%"
+       transform="scale(0.786716,1.271107)"><tspan
+         sodipodi:role="line"
+         id="tspan3192"
+         x="255.26627"
+         y="248.79449"
+         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>
+    <text
+       xml:space="preserve"
+       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"
+       x="195.86807"
+       y="173.17117"
+       id="text4085"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4087"
+         x="195.86807"
+         y="173.17117"
+         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
+         sodipodi:role="line"
+         x="195.86807"
+         y="188.17117"
+         id="tspan4089"
+         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>
+    <text
+       xml:space="preserve"
+       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"
+       x="195.0712"
+       y="288.91745"
+       id="text4091"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4093"
+         x="195.0712"
+         y="288.91745"
+         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
+         sodipodi:role="line"
+         x="195.0712"
+         y="303.91745"
+         id="tspan4111"
+         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>
+    <text
+       xml:space="preserve"
+       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"
+       x="195.0712"
+       y="229.28813"
+       id="text4095"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4097"
+         x="195.0712"
+         y="229.28813"
+         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
+         sodipodi:role="line"
+         x="195.0712"
+         y="244.28813"
+         id="tspan4109"
+         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>
+    <text
+       xml:space="preserve"
+       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"
+       x="450.4975"
+       y="238.29692"
+       id="text4137"><tspan
+         sodipodi:role="line"
+         id="tspan4139"
+         x="450.4975"
+         y="238.29692">201ad3209902</tspan></text>
+    <text
+       xml:space="preserve"
+       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"
+       x="450.05804"
+       y="267.93872"
+       id="text4141"><tspan
+         sodipodi:role="line"
+         id="tspan4143"
+         x="450.05804"
+         y="267.93872">126b84e593ae</tspan></text>
+    <text
+       xml:space="preserve"
+       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"
+       x="450.6557"
+       y="297.58051"
+       id="text4145"><tspan
+         sodipodi:role="line"
+         id="tspan4147"
+         x="450.6557"
+         y="297.58051">a655daf15409</tspan></text>
+    <text
+       xml:space="preserve"
+       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"
+       x="450.71429"
+       y="327.22226"
+       id="text4149"><tspan
+         sodipodi:role="line"
+         id="tspan4151"
+         x="450.71429"
+         y="327.22226">e50d59aaea3a</tspan></text>
+    <rect
+       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"
+       id="rect3106"
+       width="202.93683"
+       height="24.243662"
+       x="230.01936"
+       y="150.41792" />
+    <text
+       xml:space="preserve"
+       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"
+       x="237.89598"
+       y="165.8503"
+       id="text3108"><tspan
+         sodipodi:role="line"
+         id="tspan3110"
+         x="237.89598"
+         y="165.8503">forbid-illegal-params.patch</tspan></text>
+    <rect
+       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"
+       id="rect2241"
+       width="202.93683"
+       height="24.243662"
+       x="230.16466"
+       y="180.05968" />
+    <text
+       xml:space="preserve"
+       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"
+       x="238.04128"
+       y="195.49205"
+       id="text2243"><tspan
+         sodipodi:role="line"
+         id="tspan2245"
+         x="238.04128"
+         y="195.49205">fix-memory-leak.patch</tspan></text>
+  </g>
+</svg>

en/figs/note.png

Added
New image
Added
New image
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/bos/hg/hgbook/en"
+   sodipodi:docname="revlog.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;">
+      <path
+         id="path4852"
+         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 "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <linearGradient
+       id="linearGradient3092">
+      <stop
+         style="stop-color:#44436f;stop-opacity:1;"
+         offset="0"
+         id="stop3094" />
+      <stop
+         style="stop-color:#abade5;stop-opacity:1;"
+         offset="1"
+         id="stop3096" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient3118"
+       gradientUnits="userSpaceOnUse"
+       x1="176.16635"
+       y1="405.21934"
+       x2="417.11935"
+       y2="405.21934" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient3120"
+       gradientUnits="userSpaceOnUse"
+       x1="176.16635"
+       y1="405.21934"
+       x2="417.11935"
+       y2="405.21934" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient3129"
+       gradientUnits="userSpaceOnUse"
+       x1="176.16635"
+       y1="405.21934"
+       x2="417.11935"
+       y2="405.21934"
+       gradientTransform="translate(-0.928574,-1.428574)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient3133"
+       gradientUnits="userSpaceOnUse"
+       x1="176.16635"
+       y1="405.21934"
+       x2="417.11935"
+       y2="405.21934"
+       gradientTransform="translate(-0.928574,-1.428574)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient3708"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,138.874,-67.01732)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5164"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,247.4358)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5584"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,143.9081,371.2915)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5784"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5786"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,198.249,152.137)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5895"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,198.0215,261.7142)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3092"
+       id="linearGradient5958"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.423343,0,0,0.423343,137.1978,42.55987)"
+       x1="175.23776"
+       y1="509.98154"
+       x2="416.29077"
+       y2="297.49997" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.64"
+     inkscape:cx="566.02368"
+     inkscape:cy="688.16826"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="906"
+     inkscape:window-height="620"
+     inkscape:window-x="29"
+     inkscape:window-y="79"
+     inkscape:connector-spacing="11" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       y="168.74846"
+       x="211.58516"
+       height="89.506805"
+       width="101.60232"
+       id="rect3068"
+       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" />
+    <g
+       id="g3215"
+       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55985)">
+      <rect
+         y="447.71451"
+         x="299.67859"
+         height="48.571426"
+         width="103.14286"
+         id="rect2899"
+         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" />
+      <text
+         id="text2903"
+         y="464.8139"
+         x="308.89639"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           y="464.8139"
+           x="308.89639"
+           sodipodi:role="line"
+           id="tspan2905">Second parent</tspan></text>
+      <text
+         id="text2907"
+         y="485.50256"
+         x="308.20175"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           style="font-family:Courier"
+           y="485.50256"
+           x="308.20175"
+           id="tspan2909"
+           sodipodi:role="line">32bf9a5f22c0</tspan></text>
+    </g>
+    <g
+       id="g3250"
+       transform="matrix(0.423343,0,0,0.423343,137.1977,42.55986)">
+      <rect
+         y="311.28598"
+         x="188.6071"
+         height="48.571426"
+         width="103.14286"
+         id="rect2936"
+         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" />
+      <text
+         id="text2940"
+         y="328.38538"
+         x="197.82495"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           y="328.38538"
+           x="197.82495"
+           sodipodi:role="line"
+           id="tspan2942">Revision hash</tspan></text>
+      <text
+         id="text2944"
+         y="349.07404"
+         x="197.13031"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           style="font-family:Courier"
+           y="349.07404"
+           x="197.13031"
+           id="tspan2946"
+           sodipodi:role="line">34b8b7a15ea1</tspan></text>
+    </g>
+    <g
+       id="g3243"
+       transform="matrix(0.423343,0,0,0.423343,137.6664,43.91853)">
+      <rect
+         y="363.07654"
+         x="187.5"
+         height="75"
+         width="213.85715"
+         id="rect2950"
+         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" />
+      <text
+         id="text2958"
+         y="400.86459"
+         x="196.02321"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           style="fill:black;fill-opacity:1;font-family:Courier"
+           y="400.86459"
+           x="196.02321"
+           id="tspan2960"
+           sodipodi:role="line">...</tspan></text>
+      <text
+         id="text2954"
+         y="380.17593"
+         x="196.71785"
+         style="font-size:12px;font-style:normal;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"
+         xml:space="preserve"><tspan
+           y="380.17593"
+           x="196.71785"
+           sodipodi:role="line"
+           id="tspan2956"
+           style="fill:black;fill-opacity:1">Revision data (delta or snapshot)</tspan></text>
+    </g>
+    <g
+       id="g5529"
+       transform="translate(-6.710312,-8.165836e-6)">
+      <rect
+         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"
+         id="rect3509"
+         width="101.60232"
+         height="89.506805"
+         x="218.29547"
+         y="497.4801" />
+      <g
+         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
+         id="g3513">
+        <g
+           id="g3515">
+          <rect
+             y="447.72418"
+             x="188.6071"
+             height="48.571426"
+             width="103.14286"
+             id="rect3517"
+             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" />
+          <text
+             id="text3519"
+             y="464.82358"
+             x="197.82495"
+             style="font-size:12px;font-style:normal;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"
+             xml:space="preserve"><tspan
+               y="464.82358"
+               x="197.82495"
+               sodipodi:role="line"
+               id="tspan3521">First parent</tspan></text>
+          <text
+             id="text3523"
+             y="485.51224"
+             x="197.13031"
+             style="font-size:12px;font-style:normal;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"
+             xml:space="preserve"><tspan
+               style="font-family:Courier"
+               y="485.51224"
+               x="197.13031"
+               id="tspan3525"
+               sodipodi:role="line">000000000000</tspan></text>
+        </g>
+        <g
+           id="g3527">
+          <rect
+             y="447.71451"
+             x="299.67859"
+             height="48.571426"
+             width="103.14286"
+             id="rect3529"
+             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" />
+          <text
+             id="text3531"
+             y="464.8139"
+             x="308.89639"
+             style="font-size:12px;font-style:normal;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"
+             xml:space="preserve"><tspan
+               y="464.8139"
+               x="308.89639"
+               sodipodi:role="line"
+               id="tspan3533">Second parent</tspan></text>
+          <text
+             id="text3535"
+             y="485.50256"
+             x="308.20175"
+             style="font-size:12px;font-style:normal;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"
+             xml:space="preserve"><tspan
+               style="font-family:Courier"
+               y="485.50256"
+               x="308.20175"
+               id="tspan3537"
+               sodipodi:role="line">000000000000</tspan></text>
+        </g>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,143.908,371.2915)"
+         id="g3539">
+        <rect
+           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"
+           id="rect3541"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="311.28598" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="328.38538"
+           id="text3543"><tspan
+             id="tspan3545"
+             sodipodi:role="line"
+             x="197.82495"
+             y="328.38538">Revision hash</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="349.07404"
+           id="text3547"><tspan
+             sodipodi:role="line"
+             id="tspan3549"
+             x="197.13031"
+             y="349.07404"
+             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,144.3767,372.6502)"
+         id="g3551">
+        <rect
+           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"
+           id="rect3553"
+           width="213.85715"
+           height="75"
+           x="187.5"
+           y="363.07654" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.02321"
+           y="400.86459"
+           id="text3555"><tspan
+             sodipodi:role="line"
+             id="tspan3557"
+             x="196.02321"
+             y="400.86459"
+             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.71785"
+           y="380.17593"
+           id="text3559"><tspan
+             style="fill:black;fill-opacity:1"
+             id="tspan3561"
+             sodipodi:role="line"
+             x="196.71785"
+             y="380.17593">Revision data (delta or snapshot)</tspan></text>
+      </g>
+    </g>
+    <g
+       id="g4868"
+       transform="translate(-1.676208,-2.342463e-5)">
+      <rect
+         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"
+         id="rect3567"
+         width="101.60232"
+         height="89.506805"
+         x="213.26137"
+         y="59.171272" />
+      <g
+         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
+         id="g3573">
+        <rect
+           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"
+           id="rect3575"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="447.72418" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="464.82358"
+           id="text3577"><tspan
+             id="tspan3579"
+             sodipodi:role="line"
+             x="197.82495"
+             y="464.82358">First parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="485.51224"
+           id="text3581"><tspan
+             sodipodi:role="line"
+             id="tspan3583"
+             x="197.13031"
+             y="485.51224"
+             style="font-family:Courier">34b8b7a15ea1</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01734)"
+         id="g3585">
+        <rect
+           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"
+           id="rect3587"
+           width="103.14286"
+           height="48.571426"
+           x="299.67859"
+           y="447.71451" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.89639"
+           y="464.8139"
+           id="text3589"><tspan
+             id="tspan3591"
+             sodipodi:role="line"
+             x="308.89639"
+             y="464.8139">Second parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.20175"
+           y="485.50256"
+           id="text3593"><tspan
+             sodipodi:role="line"
+             id="tspan3595"
+             x="308.20175"
+             y="485.50256"
+             style="font-family:Courier">000000000000</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,138.8739,-67.01733)"
+         id="g3597">
+        <rect
+           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"
+           id="rect3599"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="311.28598" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="328.38538"
+           id="text3601"><tspan
+             id="tspan3603"
+             sodipodi:role="line"
+             x="197.82495"
+             y="328.38538">Revision hash</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="349.07404"
+           id="text3605"><tspan
+             sodipodi:role="line"
+             id="tspan3607"
+             x="197.13031"
+             y="349.07404"
+             style="font-family:Courier">1b67dc96f27a</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,139.3426,-65.65866)"
+         id="g3609">
+        <rect
+           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"
+           id="rect3611"
+           width="213.85715"
+           height="75"
+           x="187.5"
+           y="363.07654" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.02321"
+           y="400.86459"
+           id="text3613"><tspan
+             sodipodi:role="line"
+             id="tspan3615"
+             x="196.02321"
+             y="400.86459"
+             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.71785"
+           y="380.17593"
+           id="text3617"><tspan
+             style="fill:black;fill-opacity:1"
+             id="tspan3619"
+             sodipodi:role="line"
+             x="196.71785"
+             y="380.17593">Revision data (delta or snapshot)</tspan></text>
+      </g>
+    </g>
+    <path
+       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)"
+       d="M 240.78255,143.08593 L 241.42595,171.75349"
+       id="path3801"
+       inkscape:connector-type="polyline"
+       inkscape:connection-start="#g3573"
+       inkscape:connection-end="#g3250" />
+    <g
+       id="g5677">
+      <rect
+         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"
+         id="rect3393"
+         width="101.60232"
+         height="89.506805"
+         x="150.76137"
+         y="278.32565" />
+      <g
+         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
+         id="g3399">
+        <rect
+           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"
+           id="rect3401"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="447.72418" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="464.82358"
+           id="text3403"><tspan
+             id="tspan3405"
+             sodipodi:role="line"
+             x="197.82495"
+             y="464.82358">First parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="485.51224"
+           id="text3407"><tspan
+             sodipodi:role="line"
+             id="tspan3409"
+             x="197.13031"
+             y="485.51224"
+             style="font-family:Courier">ff9dc8bc2a8b</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
+         id="g3411">
+        <rect
+           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"
+           id="rect3413"
+           width="103.14286"
+           height="48.571426"
+           x="299.67859"
+           y="447.71451" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.89639"
+           y="464.8139"
+           id="text3415"><tspan
+             id="tspan3417"
+             sodipodi:role="line"
+             x="308.89639"
+             y="464.8139">Second parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.20175"
+           y="485.50256"
+           id="text3419"><tspan
+             sodipodi:role="line"
+             id="tspan3421"
+             x="308.20175"
+             y="485.50256"
+             style="font-family:Courier">000000000000</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,76.37397,152.137)"
+         id="g3423">
+        <rect
+           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"
+           id="rect3425"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="311.28598" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="328.38538"
+           id="text3427"><tspan
+             id="tspan3429"
+             sodipodi:role="line"
+             x="197.82495"
+             y="328.38538">Revision hash</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="349.07404"
+           id="text3431"><tspan
+             sodipodi:role="line"
+             id="tspan3433"
+             x="197.13031"
+             y="349.07404"
+             style="font-family:Courier">5b80c922ebdd</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,76.84265,153.4957)"
+         id="g3435">
+        <rect
+           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"
+           id="rect3437"
+           width="213.85715"
+           height="75"
+           x="187.5"
+           y="363.07654" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.02321"
+           y="400.86459"
+           id="text3439"><tspan
+             sodipodi:role="line"
+             id="tspan3441"
+             x="196.02321"
+             y="400.86459"
+             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.71785"
+           y="380.17593"
+           id="text3443"><tspan
+             style="fill:black;fill-opacity:1"
+             id="tspan3445"
+             sodipodi:role="line"
+             x="196.71785"
+             y="380.17593">Revision data (delta or snapshot)</tspan></text>
+      </g>
+    </g>
+    <g
+       id="g5646"
+       transform="translate(-0.227432,0)">
+      <rect
+         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"
+         id="rect3451"
+         width="101.60232"
+         height="89.506805"
+         x="272.63638"
+         y="278.32565" />
+      <g
+         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
+         id="g3457">
+        <rect
+           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"
+           id="rect3459"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="447.72418" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="464.82358"
+           id="text3461"><tspan
+             id="tspan3463"
+             sodipodi:role="line"
+             x="197.82495"
+             y="464.82358">First parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="485.51224"
+           id="text3465"><tspan
+             sodipodi:role="line"
+             id="tspan3467"
+             x="197.13031"
+             y="485.51224"
+             style="font-family:Courier">ecacb6b4c9fd</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
+         id="g3469">
+        <rect
+           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"
+           id="rect3471"
+           width="103.14286"
+           height="48.571426"
+           x="299.67859"
+           y="447.71451" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.89639"
+           y="464.8139"
+           id="text3473"><tspan
+             id="tspan3475"
+             sodipodi:role="line"
+             x="308.89639"
+             y="464.8139">Second parent</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="308.20175"
+           y="485.50256"
+           id="text3477"><tspan
+             sodipodi:role="line"
+             id="tspan3479"
+             x="308.20175"
+             y="485.50256"
+             style="font-family:Courier">000000000000</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,198.2489,152.137)"
+         id="g3481">
+        <rect
+           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"
+           id="rect3483"
+           width="103.14286"
+           height="48.571426"
+           x="188.6071"
+           y="311.28598" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.82495"
+           y="328.38538"
+           id="text3485"><tspan
+             id="tspan3487"
+             sodipodi:role="line"
+             x="197.82495"
+             y="328.38538">Revision hash</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="197.13031"
+           y="349.07404"
+           id="text3489"><tspan
+             sodipodi:role="line"
+             id="tspan3491"
+             x="197.13031"
+             y="349.07404"
+             style="font-family:Courier">32bf9a5f22c0</tspan></text>
+      </g>
+      <g
+         transform="matrix(0.423343,0,0,0.423343,198.7176,153.4957)"
+         id="g3493">
+        <rect
+           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"
+           id="rect3495"
+           width="213.85715"
+           height="75"
+           x="187.5"
+           y="363.07654" />
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.02321"
+           y="400.86459"
+           id="text3497"><tspan
+             sodipodi:role="line"
+             id="tspan3499"
+             x="196.02321"
+             y="400.86459"
+             style="fill:black;fill-opacity:1;font-family:Courier">...</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:12px;font-style:normal;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"
+           x="196.71785"
+           y="380.17593"
+           id="text3501"><tspan
+             style="fill:black;fill-opacity:1"
+             id="tspan3503"
+             sodipodi:role="line"