comparison docs/figures/figure-ug10.svg @ 978:8328337d23b2

docs: add new user guide This has also been reviewed to death on evolve-testers. There are still a couple of short sections to write (clearly marked "TODO"), and one example to add. But (if I may be so bold) this is a gigantic improvement over the current docs, so it really should get merged. Incidentally, the figures are all SVG files created with Inkscape. They're not perfect, but they're pretty nice. Anyone who knows a better way to create technical diagrams is welcome to contribute. One wart: there's a test script that accompanies the document and largely duplicates it, but I haven't unified them. I've been concentrating on writing the best possible content, not on fiddling with tools. I suspect that unifying them will be non-trivial, but definitely worth doing.
author Greg Ward <greg@gerg.ca>
date Thu, 05 Jun 2014 22:11:04 -0400
parents
children 091eab1223a4
comparison
equal deleted inserted replaced
977:cc0f0d94bf30 978:8328337d23b2
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4 <svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="300"
13 height="400"
14 id="svg8392"
15 version="1.1"
16 inkscape:version="0.48.4 r9939"
17 sodipodi:docname="figure-ug10.svg">
18 <defs
19 id="defs8394">
20 <marker
21 inkscape:stockid="Arrow2Mend"
22 orient="auto"
23 refY="0"
24 refX="0"
25 id="marker3230"
26 style="overflow:visible">
27 <path
28 id="path3232"
29 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
30 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
31 transform="scale(-0.6,-0.6)"
32 inkscape:connector-curvature="0" />
33 </marker>
34 <marker
35 inkscape:stockid="Arrow2Mend"
36 orient="auto"
37 refY="0"
38 refX="0"
39 id="Arrow2Mend-2"
40 style="overflow:visible">
41 <path
42 id="path5316-7"
43 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
44 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
45 transform="scale(-0.6,-0.6)"
46 inkscape:connector-curvature="0" />
47 </marker>
48 <marker
49 inkscape:stockid="Arrow2Mend"
50 orient="auto"
51 refY="0"
52 refX="0"
53 id="marker8414"
54 style="overflow:visible">
55 <path
56 id="path8416"
57 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
58 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
59 transform="scale(-0.6,-0.6)"
60 inkscape:connector-curvature="0" />
61 </marker>
62 <marker
63 inkscape:stockid="Arrow2Mend"
64 orient="auto"
65 refY="0"
66 refX="0"
67 id="Arrow2Mend-2-7"
68 style="overflow:visible">
69 <path
70 id="path5316-7-1"
71 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
72 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
73 transform="scale(-0.6,-0.6)"
74 inkscape:connector-curvature="0" />
75 </marker>
76 <marker
77 inkscape:stockid="Arrow2Mend"
78 orient="auto"
79 refY="0"
80 refX="0"
81 id="marker8695"
82 style="overflow:visible">
83 <path
84 id="path8697"
85 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
86 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
87 transform="scale(-0.6,-0.6)"
88 inkscape:connector-curvature="0" />
89 </marker>
90 <marker
91 inkscape:stockid="Arrow2Mend"
92 orient="auto"
93 refY="0"
94 refX="0"
95 id="marker8695-6"
96 style="overflow:visible">
97 <path
98 id="path8697-4"
99 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
100 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
101 transform="scale(-0.6,-0.6)"
102 inkscape:connector-curvature="0" />
103 </marker>
104 <marker
105 inkscape:stockid="Arrow2Mend"
106 orient="auto"
107 refY="0"
108 refX="0"
109 id="Arrow2Mend-2-5"
110 style="overflow:visible">
111 <path
112 id="path5316-7-0"
113 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
114 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
115 transform="scale(-0.6,-0.6)"
116 inkscape:connector-curvature="0" />
117 </marker>
118 <marker
119 inkscape:stockid="DotM"
120 orient="auto"
121 refY="0"
122 refX="0"
123 id="DotM"
124 style="overflow:visible">
125 <path
126 id="path4193"
127 d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
128 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
129 transform="matrix(0.4,0,0,0.4,2.96,0.4)"
130 inkscape:connector-curvature="0" />
131 </marker>
132 <marker
133 inkscape:stockid="DotM"
134 orient="auto"
135 refY="0"
136 refX="0"
137 id="DotM-2"
138 style="overflow:visible">
139 <path
140 id="path4193-0"
141 d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
142 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
143 transform="matrix(0.4,0,0,0.4,2.96,0.4)"
144 inkscape:connector-curvature="0" />
145 </marker>
146 <marker
147 inkscape:stockid="Arrow2Mend"
148 orient="auto"
149 refY="0"
150 refX="0"
151 id="Arrow2Mend-2-1"
152 style="overflow:visible">
153 <path
154 id="path5316-7-7"
155 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
156 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
157 transform="scale(-0.6,-0.6)"
158 inkscape:connector-curvature="0" />
159 </marker>
160 <marker
161 inkscape:stockid="Arrow2Mend"
162 orient="auto"
163 refY="0"
164 refX="0"
165 id="marker3338"
166 style="overflow:visible">
167 <path
168 id="path3340"
169 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
170 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
171 transform="scale(-0.6,-0.6)"
172 inkscape:connector-curvature="0" />
173 </marker>
174 <marker
175 inkscape:stockid="Arrow2Mend"
176 orient="auto"
177 refY="0"
178 refX="0"
179 id="marker3342"
180 style="overflow:visible">
181 <path
182 id="path3344"
183 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
184 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
185 transform="scale(-0.6,-0.6)"
186 inkscape:connector-curvature="0" />
187 </marker>
188 <marker
189 inkscape:stockid="DotM"
190 orient="auto"
191 refY="0"
192 refX="0"
193 id="DotM-3"
194 style="overflow:visible">
195 <path
196 id="path4193-8"
197 d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
198 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
199 transform="matrix(0.4,0,0,0.4,2.96,0.4)"
200 inkscape:connector-curvature="0" />
201 </marker>
202 <marker
203 inkscape:stockid="Arrow2Mend"
204 orient="auto"
205 refY="0"
206 refX="0"
207 id="Arrow2Mend-2-0"
208 style="overflow:visible">
209 <path
210 id="path5316-7-14"
211 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
212 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
213 transform="scale(-0.6,-0.6)"
214 inkscape:connector-curvature="0" />
215 </marker>
216 </defs>
217 <sodipodi:namedview
218 id="base"
219 pagecolor="#ffffff"
220 bordercolor="#666666"
221 borderopacity="1.0"
222 inkscape:pageopacity="0.0"
223 inkscape:pageshadow="2"
224 inkscape:zoom="2.2724663"
225 inkscape:cx="124.3132"
226 inkscape:cy="243.92715"
227 inkscape:document-units="px"
228 inkscape:current-layer="layer1"
229 showgrid="false"
230 inkscape:window-width="923"
231 inkscape:window-height="1064"
232 inkscape:window-x="106"
233 inkscape:window-y="54"
234 inkscape:window-maximized="0"
235 fit-margin-top="0"
236 fit-margin-left="0"
237 fit-margin-right="0"
238 fit-margin-bottom="0" />
239 <metadata
240 id="metadata8397">
241 <rdf:RDF>
242 <cc:Work
243 rdf:about="">
244 <dc:format>image/svg+xml</dc:format>
245 <dc:type
246 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
247 <dc:title />
248 </cc:Work>
249 </rdf:RDF>
250 </metadata>
251 <g
252 inkscape:label="Layer 1"
253 inkscape:groupmode="layer"
254 id="layer1"
255 transform="translate(0,-559.99805)">
256 <g
257 id="g8678"
258 transform="translate(0,-214)">
259 <rect
260 y="793.80884"
261 x="0.4999997"
262 height="18.053268"
263 width="21.481806"
264 id="rect2987-4"
265 style="fill:none;stroke:#000000;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
266 <text
267 sodipodi:linespacing="125%"
268 id="text5217-8"
269 y="807.20361"
270 x="3.4977415"
271 style="font-size:11.99999332px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
272 xml:space="preserve"><tspan
273 id="tspan6156"
274 sodipodi:role="line"
275 x="3.4977415"
276 y="807.20361">21</tspan></text>
277 </g>
278 <g
279 id="g3118"
280 transform="translate(-60.000001,578.36218)">
281 <rect
282 y="1.4467307"
283 x="120.5"
284 height="18.05327"
285 width="21.481739"
286 id="rect2987-4-02"
287 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
288 <text
289 transform="scale(0.9999979,1.0000021)"
290 sodipodi:linespacing="125%"
291 id="text5217-8-72"
292 y="14.841505"
293 x="123.54487"
294 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
295 xml:space="preserve"><tspan
296 id="tspan6156-9"
297 sodipodi:role="line"
298 x="123.54487"
299 y="14.841505">22</tspan></text>
300 </g>
301 <g
302 id="g3126"
303 transform="translate(-60.000192,578.36218)">
304 <rect
305 y="1.4467307"
306 x="180.5"
307 height="18.05327"
308 width="21.481739"
309 id="rect2987-4-026"
310 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
311 <text
312 transform="scale(0.9999979,1.0000021)"
313 sodipodi:linespacing="125%"
314 id="text5217-8-3"
315 y="14.841505"
316 x="183.42488"
317 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
318 xml:space="preserve"><tspan
319 id="tspan6156-0"
320 sodipodi:role="line"
321 x="183.42488"
322 y="14.841505">23</tspan></text>
323 </g>
324 <path
325 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
326 d="m 21.981806,588.83549 38.518193,4e-5"
327 id="path3178"
328 inkscape:connector-type="polyline"
329 inkscape:connector-curvature="0"
330 inkscape:connection-end="#g3118"
331 inkscape:connection-end-point="d4"
332 inkscape:connection-start="#g8678"
333 inkscape:connection-start-point="d4" />
334 <path
335 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
336 d="m 81.981738,588.83555 38.518072,0"
337 id="path3180"
338 inkscape:connector-type="polyline"
339 inkscape:connector-curvature="0"
340 inkscape:connection-start="#g3118"
341 inkscape:connection-start-point="d4"
342 inkscape:connection-end="#g3126"
343 inkscape:connection-end-point="d4" />
344 <g
345 transform="matrix(1.0000032,0,0,0.99999991,-8.2080488e-7,-108.99993)"
346 id="g8678-6">
347 <rect
348 y="793.80884"
349 x="0.4999997"
350 height="18.053268"
351 width="21.481806"
352 id="rect2987-4-9"
353 style="fill:none;stroke:#000000;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
354 <text
355 sodipodi:linespacing="125%"
356 id="text5217-8-32"
357 y="807.20361"
358 x="3.4977415"
359 style="font-size:11.99999332px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
360 xml:space="preserve"><tspan
361 id="tspan6156-8"
362 sodipodi:role="line"
363 x="3.4977415"
364 y="807.20361">21</tspan></text>
365 </g>
366 <rect
367 style="fill:none;stroke:#000000;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999946, 3.99999785;stroke-dashoffset:0"
368 id="rect2987-4-02-6"
369 width="21.481808"
370 height="18.053268"
371 x="60.5"
372 y="684.8089" />
373 <text
374 xml:space="preserve"
375 style="font-size:11.99999428px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
376 x="63.544647"
377 y="698.20331"
378 id="text5217-8-72-1"
379 sodipodi:linespacing="125%"><tspan
380 y="698.20331"
381 x="63.544647"
382 sodipodi:role="line"
383 id="tspan6156-9-8">22</tspan></text>
384 <g
385 id="g3126-8"
386 transform="matrix(1.0000032,0,0,0.99999991,-60.000385,683.36218)">
387 <rect
388 y="1.4467307"
389 x="180.5"
390 height="18.05327"
391 width="21.481739"
392 id="rect2987-4-026-7"
393 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
394 <text
395 transform="scale(0.9999979,1.0000021)"
396 sodipodi:linespacing="125%"
397 id="text5217-8-3-8"
398 y="14.841505"
399 x="183.42488"
400 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
401 xml:space="preserve"><tspan
402 id="tspan6156-0-9"
403 sodipodi:role="line"
404 x="183.42488"
405 y="14.841505">23</tspan></text>
406 </g>
407 <path
408 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
409 d="m 21.981875,693.83548 38.518126,5e-5"
410 id="path3178-9"
411 inkscape:connector-type="polyline"
412 inkscape:connector-curvature="0"
413 inkscape:connection-start="#g8678-6"
414 inkscape:connection-start-point="d4" />
415 <path
416 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
417 d="m 81.981808,693.83554 38.518382,0"
418 id="path3180-1"
419 inkscape:connector-type="polyline"
420 inkscape:connector-curvature="0"
421 inkscape:connection-end="#g3126-8"
422 inkscape:connection-end-point="d4" />
423 <text
424 xml:space="preserve"
425 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
426 x="7.5114212"
427 y="652.66315"
428 id="text9295"
429 sodipodi:linespacing="100%"><tspan
430 sodipodi:role="line"
431 id="tspan9297"
432 x="7.5114212"
433 y="652.66315">obsolete</tspan><tspan
434 sodipodi:role="line"
435 x="7.5114212"
436 y="662.66315"
437 id="tspan9299">but visible</tspan></text>
438 <text
439 xml:space="preserve"
440 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
441 x="155.24913"
442 y="668.43335"
443 id="text9301"
444 sodipodi:linespacing="125%"><tspan
445 sodipodi:role="line"
446 id="tspan9303"
447 x="155.24913"
448 y="668.43335">unstable</tspan></text>
449 <g
450 id="g5433"
451 transform="translate(32.476727,584.47248)">
452 <text
453 transform="scale(0.9999978,1.0000022)"
454 sodipodi:linespacing="125%"
455 id="text5217-8-0"
456 y="58.841717"
457 x="46.92271"
458 style="font-size:11.99999809px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
459 xml:space="preserve"><tspan
460 y="58.841717"
461 x="46.92271"
462 id="tspan8594"
463 sodipodi:role="line">hg uncommit <tspan
464 id="tspan3131"
465 style="font-style:italic">f1 f2 ...</tspan></tspan></text>
466 <g
467 transform="translate(-0.59241834,4.9316169)"
468 id="g6372-4">
469 <path
470 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
471 d="m 36.655932,74.035228 3.649333,6.320665 3.711171,-6.427764"
472 id="path8598-5"
473 inkscape:connector-curvature="0" />
474 <g
475 id="g3821-3"
476 transform="matrix(1,0,0,1.5998137,5.836184,-16.712267)">
477 <path
478 inkscape:connector-curvature="0"
479 id="path8466-5-0"
480 d="M 35.5,23.60911 35.5,59.5"
481 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
482 <path
483 inkscape:connector-curvature="0"
484 id="path8466-4-7-7"
485 d="M 33.5,23.60911 33.5,59.5"
486 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
487 </g>
488 </g>
489 </g>
490 <g
491 id="g3118-2"
492 transform="translate(-60.000001,733.29305)">
493 <rect
494 y="1.4467307"
495 x="120.5"
496 height="18.05327"
497 width="21.481739"
498 id="rect2987-4-02-8"
499 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
500 <text
501 transform="scale(0.9999979,1.0000021)"
502 sodipodi:linespacing="125%"
503 id="text5217-8-72-3"
504 y="14.841505"
505 x="123.54487"
506 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
507 xml:space="preserve"><tspan
508 id="tspan6156-9-3"
509 sodipodi:role="line"
510 x="123.54487"
511 y="14.841505">24</tspan></text>
512 </g>
513 <text
514 xml:space="preserve"
515 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
516 x="187.68906"
517 y="740.26349"
518 id="text3218"
519 sodipodi:linespacing="100%"><tspan
520 sodipodi:role="line"
521 id="tspan3220"
522 x="187.68906"
523 y="740.26349">working dir</tspan><tspan
524 sodipodi:role="line"
525 x="187.68906"
526 y="750.26349"
527 id="tspan4379">(with uncommitted</tspan><tspan
528 sodipodi:role="line"
529 x="187.68906"
530 y="760.26349"
531 id="tspan4381">changes to f1 f2 ...)</tspan></text>
532 <path
533 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
534 d="m 21.981875,702.7739 38.518124,32.05414"
535 id="path3178-9-5"
536 inkscape:connector-type="polyline"
537 inkscape:connector-curvature="0"
538 inkscape:connection-start="#g8678-6"
539 inkscape:connection-start-point="d4"
540 inkscape:connection-end="#g3118-2"
541 inkscape:connection-end-point="d4" />
542 <path
543 style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999986, 2.99999958;stroke-dashoffset:0;marker-start:url(#DotM);display:inline"
544 d="m 71.240897,702.86217 -2.2e-5,31.87761"
545 id="path4123"
546 inkscape:connector-type="polyline"
547 inkscape:connector-curvature="0"
548 inkscape:connection-start="#rect2987-4-02-6"
549 inkscape:connection-start-point="d4"
550 inkscape:connection-end="#g3118-2"
551 inkscape:connection-end-point="d4" />
552 <text
553 xml:space="preserve"
554 style="font-size:11.99999809px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
555 x="79.694885"
556 y="791.03015"
557 id="text5217-8-0-7"
558 sodipodi:linespacing="125%"
559 transform="scale(0.9999978,1.0000022)"><tspan
560 id="tspan3316"
561 sodipodi:role="line"
562 x="79.694885"
563 y="791.03015">hg revert <tspan
564 id="tspan3314"
565 style="font-style:italic">f1 f2 ...</tspan></tspan><tspan
566 id="tspan3322"
567 sodipodi:role="line"
568 x="79.694885"
569 y="806.03015">hg evolve --all</tspan></text>
570 <g
571 id="g6372-4-2"
572 transform="translate(32.179684,745.12164)">
573 <path
574 inkscape:connector-curvature="0"
575 id="path8598-5-0"
576 d="m 36.655932,74.035228 3.649333,6.320665 3.711171,-6.427764"
577 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
578 <g
579 transform="matrix(1,0,0,1.5998137,5.836184,-16.712267)"
580 id="g3821-3-9">
581 <path
582 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
583 d="M 35.5,23.60911 35.5,59.5"
584 id="path8466-5-0-9"
585 inkscape:connector-curvature="0" />
586 <path
587 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
588 d="M 33.5,23.60911 33.5,59.5"
589 id="path8466-4-7-7-4"
590 inkscape:connector-curvature="0" />
591 </g>
592 </g>
593 <g
594 id="g8678-6-1"
595 transform="matrix(1.0000032,0,0,0.99999991,-1e-6,45.40223)">
596 <rect
597 style="fill:none;stroke:#000000;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
598 id="rect2987-4-9-7"
599 width="21.481806"
600 height="18.053268"
601 x="0.4999997"
602 y="793.80884" />
603 <text
604 xml:space="preserve"
605 style="font-size:11.99999332px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
606 x="3.4977415"
607 y="807.20361"
608 id="text5217-8-32-6"
609 sodipodi:linespacing="125%"><tspan
610 y="807.20361"
611 x="3.4977415"
612 sodipodi:role="line"
613 id="tspan6156-8-5">21</tspan></text>
614 </g>
615 <rect
616 y="839.21106"
617 x="60.5"
618 height="18.053268"
619 width="21.481808"
620 id="rect2987-4-02-6-9"
621 style="fill:none;stroke:#000000;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999946, 3.99999785;stroke-dashoffset:0" />
622 <text
623 sodipodi:linespacing="125%"
624 id="text5217-8-72-1-2"
625 y="852.60547"
626 x="63.544647"
627 style="font-size:11.99999428px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
628 xml:space="preserve"><tspan
629 id="tspan6156-9-8-1"
630 sodipodi:role="line"
631 x="63.544647"
632 y="852.60547">22</tspan></text>
633 <g
634 id="g4295">
635 <rect
636 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 4;stroke-dashoffset:0"
637 id="rect2987-4-026-7-9"
638 width="21.481808"
639 height="18.053268"
640 x="120.50019"
641 y="839.21106" />
642 <text
643 xml:space="preserve"
644 style="font-size:11.99999428px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
645 x="123.42475"
646 y="852.60547"
647 id="text5217-8-3-8-6"
648 sodipodi:linespacing="125%"><tspan
649 y="852.60547"
650 x="123.42475"
651 sodipodi:role="line"
652 id="tspan6156-0-9-3">23</tspan></text>
653 </g>
654 <path
655 inkscape:connection-start-point="d4"
656 inkscape:connection-start="#g8678-6-1"
657 inkscape:connector-curvature="0"
658 inkscape:connector-type="polyline"
659 id="path3178-9-1"
660 d="m 21.981875,848.23763 38.518124,2e-5"
661 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline" />
662 <path
663 inkscape:connector-curvature="0"
664 inkscape:connector-type="polyline"
665 id="path3180-1-7"
666 d="m 81.981809,848.23766 38.518381,3e-5"
667 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
668 inkscape:connection-end="#g4295"
669 inkscape:connection-end-point="d4" />
670 <g
671 transform="translate(-60.000001,887.69517)"
672 id="g3118-2-6">
673 <rect
674 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
675 id="rect2987-4-02-8-4"
676 width="21.481739"
677 height="18.05327"
678 x="120.5"
679 y="1.4467307" />
680 <text
681 xml:space="preserve"
682 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
683 x="123.54487"
684 y="14.841505"
685 id="text5217-8-72-3-4"
686 sodipodi:linespacing="125%"
687 transform="scale(0.9999979,1.0000021)"><tspan
688 y="14.841505"
689 x="123.54487"
690 sodipodi:role="line"
691 id="tspan6156-9-3-9">24</tspan></text>
692 </g>
693 <path
694 inkscape:connection-end-point="d4"
695 inkscape:connection-end="#g3118-2-6"
696 inkscape:connection-start-point="d4"
697 inkscape:connection-start="#g8678-6-1"
698 inkscape:connector-curvature="0"
699 inkscape:connector-type="polyline"
700 id="path3178-9-5-1"
701 d="m 21.981875,857.17605 38.518124,32.05412"
702 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline" />
703 <path
704 inkscape:connection-end-point="d4"
705 inkscape:connection-end="#g3118-2-6"
706 inkscape:connection-start-point="d4"
707 inkscape:connection-start="#rect2987-4-02-6-9"
708 inkscape:connector-curvature="0"
709 inkscape:connector-type="polyline"
710 id="path4123-8"
711 d="m 71.240897,857.26433 -2.2e-5,31.87757"
712 style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999986, 2.99999958;stroke-dashoffset:0;marker-start:url(#DotM);display:inline" />
713 <g
714 transform="translate(-1.0430814e-6,887.87361)"
715 id="g3118-2-6-6">
716 <rect
717 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
718 id="rect2987-4-02-8-4-3"
719 width="21.481739"
720 height="18.05327"
721 x="120.5"
722 y="1.4467307" />
723 <text
724 xml:space="preserve"
725 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
726 x="123.54487"
727 y="14.841505"
728 id="text5217-8-72-3-4-9"
729 sodipodi:linespacing="125%"
730 transform="scale(0.9999979,1.0000021)"><tspan
731 y="14.841505"
732 x="123.54487"
733 sodipodi:role="line"
734 id="tspan6156-9-3-9-1">25</tspan></text>
735 </g>
736 <path
737 inkscape:connector-curvature="0"
738 inkscape:connector-type="polyline"
739 id="path4123-8-2"
740 d="m 131.24105,857.26433 -1.4e-4,32.05601"
741 style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999986, 2.99999958;stroke-dashoffset:0;marker-start:url(#DotM);display:inline"
742 inkscape:connection-start="#g4295"
743 inkscape:connection-start-point="d4"
744 inkscape:connection-end="#g3118-2-6-6"
745 inkscape:connection-end-point="d4" />
746 <path
747 inkscape:connector-curvature="0"
748 inkscape:connector-type="polyline"
749 id="path3178-9-1-1"
750 d="M 81.981738,898.20048 120.5,898.31503"
751 style="fill:none;stroke:#000000;stroke-width:1.00000155px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2);display:inline"
752 inkscape:connection-start="#g3118-2-6"
753 inkscape:connection-start-point="d4"
754 inkscape:connection-end="#g3118-2-6-6"
755 inkscape:connection-end-point="d4" />
756 <text
757 xml:space="preserve"
758 style="font-size:9.99999905px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
759 x="187.37656"
760 y="909.57391"
761 id="text4799-8-0"
762 sodipodi:linespacing="125%"><tspan
763 sodipodi:role="line"
764 x="187.37656"
765 y="909.57391"
766 id="tspan4416">working dir</tspan><tspan
767 sodipodi:role="line"
768 x="187.37656"
769 y="922.07391"
770 id="tspan4420">(clean)</tspan></text>
771 <text
772 xml:space="preserve"
773 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
774 x="175.91385"
775 y="840.83063"
776 id="text4404"
777 sodipodi:linespacing="100%"><tspan
778 sodipodi:role="line"
779 id="tspan4406"
780 x="175.91385"
781 y="840.83063">obsolete,</tspan><tspan
782 sodipodi:role="line"
783 x="175.91385"
784 y="850.83063"
785 id="tspan4408">hidden,</tspan><tspan
786 sodipodi:role="line"
787 x="175.91385"
788 y="860.83063"
789 id="tspan4410">precursors</tspan></text>
790 <text
791 xml:space="preserve"
792 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
793 x="53.690826"
794 y="380.35703"
795 id="text4412"
796 sodipodi:linespacing="100%"
797 transform="translate(0,559.99805)"><tspan
798 sodipodi:role="line"
799 id="tspan4414"
800 x="53.690826"
801 y="380.35703">successors</tspan></text>
802 <text
803 xml:space="preserve"
804 style="font-size:9.99999905px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
805 x="187.37656"
806 y="571.41107"
807 id="text4799-8-0-8"
808 sodipodi:linespacing="125%"><tspan
809 sodipodi:role="line"
810 x="187.37656"
811 y="571.41107"
812 id="tspan4416-9">working dir</tspan><tspan
813 sodipodi:role="line"
814 x="187.37656"
815 y="583.91107"
816 id="tspan4420-1">(clean)</tspan></text>
817 <path
818 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
819 d="M 182.62097,9.6751729 C 149.31312,5.6732792 109.12827,-5.7223311 84.489703,18.916234"
820 id="path4446"
821 inkscape:connector-curvature="0"
822 transform="translate(0,559.99805)" />
823 <path
824 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
825 d="m 182.62097,177.33443 c -11.66919,2.11797 -39.69025,-8.27526 -48.84561,0.8801 -4.08681,4.08681 5.91098,7.3857 -1.32015,11.00126 -8.45778,4.22889 -37.224994,-3.5204 -45.765254,-3.5204"
826 id="path4452"
827 inkscape:connector-curvature="0"
828 transform="translate(0,559.99805)" />
829 <path
830 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
831 d="m 173.37991,274.14555 c -26.50591,-25.47484 -62.13868,-7.60786 -86.249903,3.5204"
832 id="path4458"
833 inkscape:connector-curvature="0"
834 transform="translate(0,559.99805)" />
835 <path
836 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
837 d="m 172.05976,275.4657 c -15.34118,-5.10156 -27.83143,-16.04735 -35.64409,0.8801"
838 id="path4466"
839 inkscape:connector-curvature="0"
840 transform="translate(0,559.99805)" />
841 <path
842 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
843 d="m 184.38118,349.39419 c -17.09613,-2.47468 -18.70357,-14.67863 -38.2844,-11.88137"
844 id="path4468"
845 inkscape:connector-curvature="0"
846 transform="translate(0,559.99805)" />
847 <path
848 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
849 d="m 90.21036,370.95666 c 5.346579,-17.09267 25.584,-5.21534 35.20404,-18.04207"
850 id="path4690"
851 inkscape:connector-curvature="0"
852 transform="translate(0,559.99805)" />
853 <path
854 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
855 d="M 87.570057,370.95666 C 90.583364,353.5751 71.256395,368.31133 69.968036,350.27429"
856 id="path4694"
857 inkscape:connector-curvature="0"
858 transform="translate(0,559.99805)" />
859 <path
860 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
861 d="m 29.043336,106.04624 c 9.697316,11.54911 30.278008,-0.41536 36.084144,15.84182"
862 id="path4908"
863 inkscape:connector-curvature="0"
864 transform="translate(0,559.99805)" />
865 <path
866 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-2-0)"
867 d="m 152.25749,104.72609 c -14.85295,-1.56817 -17.66404,5.2687 -18.48213,16.72192"
868 id="path5120"
869 inkscape:connector-curvature="0"
870 transform="translate(0,559.99805)" />
871 </g>
872 </svg>