Fossil

Check-in [efb104bb]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added "How Can Forks Divide Development Effort?" section to www/branching.wiki.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: efb104bbb112754833ea84d244c9326f327d296c6b2a8c7cfd2b28a2b7202605
User & Date: wyoung 2019-06-21 11:45:43
Context
2019-06-21
11:50
Clarified the "it doesn't matter how or why" in the previous check-in. check-in: 9aec1718 user: wyoung tags: trunk
11:45
Added "How Can Forks Divide Development Effort?" section to www/branching.wiki. check-in: efb104bb user: wyoung tags: trunk
2019-06-20
17:02
Replaced a mailing list reference with a forum link (reported by a forum user). check-in: 8ddeb17d user: stephan tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added www/branch06.graphml.























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
  <!--Created by yEd 3.19-->
  <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
  <key for="port" id="d1" yfiles.type="portgraphics"/>
  <key for="port" id="d2" yfiles.type="portgeometry"/>
  <key for="port" id="d3" yfiles.type="portuserdata"/>
  <key attr.name="url" attr.type="string" for="node" id="d4"/>
  <key attr.name="description" attr.type="string" for="node" id="d5"/>
  <key for="node" id="d6" yfiles.type="nodegraphics"/>
  <key for="graphml" id="d7" yfiles.type="resources"/>
  <key attr.name="url" attr.type="string" for="edge" id="d8"/>
  <key attr.name="description" attr.type="string" for="edge" id="d9"/>
  <key for="edge" id="d10" yfiles.type="edgegraphics"/>
  <graph edgedefault="directed" id="G">
    <data key="d0" xml:space="preserve"/>
    <node id="n0" yfiles.foldertype="folder">
      <data key="d4" xml:space="preserve"/>
      <data key="d5"/>
      <data key="d6">
        <y:ProxyAutoBoundsNode>
          <y:Realizers active="1">
            <y:GroupNode>
              <y:Geometry height="778.166015625" width="492.0" x="68.0" y="-1332.666015625"/>
              <y:Fill color="#F5F5F5" transparent="false"/>
              <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
              <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="492.0" x="0.0" xml:space="preserve" y="0.0">Group 2</y:NodeLabel>
              <y:Shape type="roundrectangle"/>
              <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
              <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
              <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
            </y:GroupNode>
            <y:GroupNode>
              <y:Geometry height="50.0" width="50.0" x="68.0" y="-1332.666015625"/>
              <y:Fill color="#F5F5F5" transparent="false"/>
              <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
              <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="63.75830078125" x="-6.879150390625" xml:space="preserve" y="0.0">Folder 2</y:NodeLabel>
              <y:Shape type="roundrectangle"/>
              <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
              <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
              <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
            </y:GroupNode>
          </y:Realizers>
        </y:ProxyAutoBoundsNode>
      </data>
      <graph edgedefault="directed" id="n0:">
        <node id="n0::n0" yfiles.foldertype="group">
          <data key="d5"/>
          <data key="d6">
            <y:TableNode configuration="YED_TABLE_NODE">
              <y:Geometry height="462.5" width="446.0" x="83.0" y="-1296.0"/>
              <y:Fill color="#ECF5FF" color2="#0042F440" transparent="false"/>
              <y:BorderStyle color="#000000" type="line" width="1.0"/>
              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="21.666015625" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="290.259765625" x="77.8701171875" xml:space="preserve" y="4.0">Varying User Views of Fossil Repository</y:NodeLabel>
              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" rotationAngle="270.0" textColor="#000000" verticalTextPosition="bottom" visible="true" width="42.103515625" x="3.0" xml:space="preserve" y="63.9482421875">User A<y:LabelModel><y:RowNodeLabelModel offset="3.0"/></y:LabelModel><y:ModelParameter><y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_0" inside="true"/></y:ModelParameter></y:NodeLabel>
              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" rotationAngle="270.0" textColor="#000000" verticalTextPosition="bottom" visible="true" width="40.7265625" x="3.0" xml:space="preserve" y="173.63671875">User B<y:LabelModel><y:RowNodeLabelModel offset="3.0"/></y:LabelModel><y:ModelParameter><y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_1" inside="true"/></y:ModelParameter></y:NodeLabel>
              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" rotationAngle="270.0" textColor="#000000" verticalTextPosition="bottom" visible="true" width="42.126953125" x="3.0" xml:space="preserve" y="278.4365234375">User C<y:LabelModel><y:RowNodeLabelModel offset="3.0"/></y:LabelModel><y:ModelParameter><y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_2" inside="true"/></y:ModelParameter></y:NodeLabel>
              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" rotationAngle="270.0" textColor="#000000" verticalTextPosition="bottom" visible="true" width="42.8125" x="3.0" xml:space="preserve" y="385.34375">User D<y:LabelModel><y:RowNodeLabelModel offset="3.0"/></y:LabelModel><y:ModelParameter><y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_3" inside="true"/></y:ModelParameter></y:NodeLabel>
              <y:StyleProperties>
                <y:Property class="java.awt.Color" name="yed.table.section.color" value="#7192b2"/>
                <y:Property class="java.lang.Double" name="yed.table.header.height" value="24.0"/>
                <y:Property class="java.awt.Color" name="yed.table.lane.color.main" value="#c4d7ed"/>
                <y:Property class="java.awt.Color" name="yed.table.lane.color.alternating" value="#abc8e2"/>
                <y:Property class="java.awt.Color" name="yed.table.header.color.alternating" value="#abc8e2"/>
                <y:Property class="java.lang.String" name="yed.table.lane.style" value="lane.style.rows"/>
                <y:Property class="java.awt.Color" name="yed.table.header.color.main" value="#c4d7ed"/>
              </y:StyleProperties>
              <y:State autoResize="true" closed="false" closedHeight="80.0" closedWidth="100.0"/>
              <y:Insets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
              <y:BorderInsets bottom="20" bottomF="19.833984375" left="13" leftF="13.0" right="23" rightF="23.0" top="17" topF="17.0"/>
              <y:Table autoResizeTable="true" defaultColumnWidth="120.0" defaultMinimumColumnWidth="80.0" defaultMinimumRowHeight="50.0" defaultRowHeight="80.0">
                <y:DefaultColumnInsets bottom="0.0" left="0.0" right="0.0" top="0.0"/>
                <y:DefaultRowInsets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
                <y:Insets bottom="0.0" left="0.0" right="0.0" top="30.0"/>
                <y:Columns>
                  <y:Column id="column_0" minimumWidth="80.0" width="422.0">
                    <y:Insets bottom="0.0" left="0.0" right="0.0" top="0.0"/>
                  </y:Column>
                </y:Columns>
                <y:Rows>
                  <y:Row height="110.0" id="row_0" minimumHeight="50.0">
                    <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
                  </y:Row>
                  <y:Row height="108.0" id="row_1" minimumHeight="50.0">
                    <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
                  </y:Row>
                  <y:Row height="103.0" id="row_2" minimumHeight="50.0">
                    <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
                  </y:Row>
                  <y:Row height="111.5" id="row_3" minimumHeight="50.0">
                    <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
                  </y:Row>
                </y:Rows>
              </y:Table>
            </y:TableNode>
          </data>
          <graph edgedefault="directed" id="n0::n0:">
            <node id="n0::n0::n0">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="120.0" y="-1138.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">1<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n1">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="180.0" y="-1095.5"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">3<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n2">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="64.0" x="442.0" y="-1138.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="39.390625" x="12.3046875" xml:space="preserve" y="5.93359375">future<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n3">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="180.0" y="-1138.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">2<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n4">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="240.0" y="-1095.5"/>
                  <y:Fill color="#C0C0C0" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">4<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n5">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="120.0" y="-925.833984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">1<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n6">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="180.0" y="-883.333984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">3<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n7">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="64.0" x="442.0" y="-925.833984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="39.390625" x="12.3046875" xml:space="preserve" y="5.93359375">future<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n8">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="180.0" y="-925.833984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">2<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n9">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="240.0" y="-883.333984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">4<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n10">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="300.0" y="-925.833984375"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">5<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n11">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="360.0" y="-925.833984375"/>
                  <y:Fill color="#C0C0C0" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">6<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n12">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="129.0" y="-1249.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">1<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n13">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="189.0" y="-1206.5"/>
                  <y:Fill color="#C0C0C0" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">3<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n14">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="64.0" x="442.0" y="-1249.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="39.390625" x="12.3046875" xml:space="preserve" y="5.93359375">future<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n15">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="189.0" y="-1249.0"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">2<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n16">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="180.0" y="-1020.6669921875"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">2<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n17">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="300.0" y="-1020.6669921875"/>
                  <y:Fill color="#C0C0C0" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">5<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n18">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="30.0" x="120.0" y="-1020.6669921875"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="11.587890625" x="9.2060546875" xml:space="preserve" y="5.93359375">1<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
            <node id="n0::n0::n19">
              <data key="d6">
                <y:ShapeNode>
                  <y:Geometry height="30.0" width="64.0" x="442.0" y="-1020.6669921875"/>
                  <y:Fill color="#FFFFFF" transparent="false"/>
                  <y:BorderStyle color="#000000" raised="false" type="line" width="2.0"/>
                  <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="39.390625" x="12.3046875" xml:space="preserve" y="5.93359375">future<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
                  <y:Shape type="ellipse"/>
                </y:ShapeNode>
              </data>
            </node>
          </graph>
        </node>
        <edge id="n0::n0::e0" source="n0::n0::n0" target="n0::n0::n1">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e1" source="n0::n0::n0" target="n0::n0::n3">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e2" source="n0::n0::n1" target="n0::n0::n4">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e3" source="n0::n0::n3" target="n0::n0::n2">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e4" source="n0::n0::n5" target="n0::n0::n6">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e5" source="n0::n0::n5" target="n0::n0::n8">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e6" source="n0::n0::n6" target="n0::n0::n9">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e7" source="n0::n0::n8" target="n0::n0::n10">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e8" source="n0::n0::n10" target="n0::n0::n11">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e9" source="n0::n0::n11" target="n0::n0::n7">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e10" source="n0::n0::n12" target="n0::n0::n13">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:EdgeLabel alignment="right" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="31.50390625" x="-14.992324829101562" xml:space="preserve" y="10.9302978515625">fork!<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e11" source="n0::n0::n12" target="n0::n0::n15">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e12" source="n0::n0::n15" target="n0::n0::n14">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e13" source="n0::n0::n16" target="n0::n0::n17">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="4.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" horizontalTextPosition="center" iconTextGap="4" modelName="two_pos" modelPosition="head" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="72.71875" x="8.640625" xml:space="preserve" y="-22.1328125">goes offline<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e14" source="n0::n0::n18" target="n0::n0::n16">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
        <edge id="n0::n0::e15" source="n0::n0::n17" target="n0::n0::n19">
          <data key="d9"/>
          <data key="d10">
            <y:PolyLineEdge>
              <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
              <y:LineStyle color="#000000" type="line" width="1.0"/>
              <y:Arrows source="none" target="standard"/>
              <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="46.3984375" horizontalTextPosition="center" iconTextGap="4" modelName="two_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="78.947265625" x="16.5263671875" xml:space="preserve" y="2.0">back online,
syncs, learns
of 3 &amp; 4<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
              <y:BendStyle smoothed="false"/>
            </y:PolyLineEdge>
          </data>
        </edge>
      </graph>
    </node>
  </graph>
  <data key="d7">
    <y:Resources/>
  </data>
</graphml>

Added www/branch06.svg.































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="476" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="493" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto">
  <!--Generated by ySVG 2.5-->
  <defs id="genericDefs"/>
  <g>
    <defs id="defs1">
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
        <path d="M0 0 L476 0 L476 493 L0 493 L0 0 Z"/>
      </clipPath>
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
        <path d="M68 -1311 L544 -1311 L544 -818 L68 -818 L68 -1311 Z"/>
      </clipPath>
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
        <path d="M121.0518 -18 L121.0518 458 L-371.9482 458 L-371.9482 -18 L121.0518 -18 Z"/>
      </clipPath>
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
        <path d="M229.3633 -18 L229.3633 458 L-263.6367 458 L-263.6367 -18 L229.3633 -18 Z"/>
      </clipPath>
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
        <path d="M335.5635 -18 L335.5635 458 L-157.4365 458 L-157.4365 -18 L335.5635 -18 Z"/>
      </clipPath>
      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
        <path d="M443.1562 -18 L443.1562 458 L-49.8438 458 L-49.8438 -18 L443.1562 -18 Z"/>
      </clipPath>
    </defs>
    <g fill="rgb(236,245,255)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="rgb(236,245,255)">
      <path d="M83 -1296 L83 -1266 L529 -1266 L529 -1296 Z" stroke="none" clip-path="url(#clipPath2)"/>
      <rect x="83" width="446" height="432.5" y="-1266" clip-path="url(#clipPath2)" stroke="none"/>
      <line clip-path="url(#clipPath2)" fill="rgb(113,146,178)" x1="107" x2="529" y1="-1266" y2="-1266" stroke="none"/>
      <rect x="83" y="-1266" clip-path="url(#clipPath2)" fill="rgb(196,215,237)" width="24" height="110" stroke="none"/>
      <rect x="107" y="-1266" clip-path="url(#clipPath2)" fill="rgb(196,215,237)" width="422" height="110" stroke="none"/>
      <rect x="83" y="-1156" clip-path="url(#clipPath2)" fill="rgb(171,200,226)" width="24" height="108" stroke="none"/>
      <rect x="107" y="-1156" clip-path="url(#clipPath2)" fill="rgb(171,200,226)" width="422" height="108" stroke="none"/>
      <rect x="83" y="-1048" clip-path="url(#clipPath2)" fill="rgb(196,215,237)" width="24" height="103" stroke="none"/>
      <rect x="107" y="-1048" clip-path="url(#clipPath2)" fill="rgb(196,215,237)" width="422" height="103" stroke="none"/>
      <rect x="83" y="-945" clip-path="url(#clipPath2)" fill="rgb(171,200,226)" width="24" height="111.5" stroke="none"/>
      <rect x="107" y="-945" clip-path="url(#clipPath2)" fill="rgb(171,200,226)" width="422" height="111.5" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <rect fill="none" x="83" width="446" height="462.5" y="-1296" clip-path="url(#clipPath2)"/>
      <rect fill="none" x="107" width="422" height="432.5" y="-1266" clip-path="url(#clipPath2)"/>
      <rect fill="none" x="83" width="446" height="110" y="-1266" clip-path="url(#clipPath2)"/>
      <rect fill="none" x="83" width="446" height="108" y="-1156" clip-path="url(#clipPath2)"/>
      <rect fill="none" x="83" width="446" height="103" y="-1048" clip-path="url(#clipPath2)"/>
      <rect fill="none" x="83" width="446" height="111.5" y="-945" clip-path="url(#clipPath2)"/>
    </g>
    <g font-size="15px" stroke-linecap="butt" transform="matrix(1,0,0,1,-68,1311)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" stroke-miterlimit="1.45">
      <text x="162.8701" xml:space="preserve" y="-1275.498" clip-path="url(#clipPath2)" stroke="none">Varying User Views of Fossil Repository</text>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(-0,-1,1,-0,18,121.0518)" stroke-linecap="butt">
      <text x="2" xml:space="preserve" y="13.6016" clip-path="url(#clipPath3)" stroke="none">User A</text>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(-0,-1,1,-0,18,229.3633)" stroke-linecap="butt">
      <text x="2" xml:space="preserve" y="13.6016" clip-path="url(#clipPath4)" stroke="none">User B</text>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(-0,-1,1,-0,18,335.5635)" stroke-linecap="butt">
      <text x="2" xml:space="preserve" y="13.6016" clip-path="url(#clipPath5)" stroke="none">User C</text>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(-0,-1,1,-0,18,443.1562)" stroke-linecap="butt">
      <text x="2" xml:space="preserve" y="13.6016" clip-path="url(#clipPath6)" stroke="none">User D</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="135" cy="-1123" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="135" cy="-1123"/>
      <text x="131.2061" y="-1118.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">1</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="195" cy="-1080.5" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="195" cy="-1080.5"/>
      <text x="191.2061" y="-1075.9648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">3</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <ellipse rx="32" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1123" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <ellipse rx="32" fill="none" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1123"/>
      <text x="456.3047" y="-1118.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">future</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="195" cy="-1123" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="195" cy="-1123"/>
      <text x="191.2061" y="-1118.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">2</text>
    </g>
    <g fill="silver" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="silver">
      <circle r="15" clip-path="url(#clipPath2)" cx="255" cy="-1080.5" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="255" cy="-1080.5"/>
      <text x="251.2061" y="-1075.9648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">4</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="135" cy="-910.834" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="135" cy="-910.834"/>
      <text x="131.2061" y="-906.2988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">1</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="195" cy="-868.334" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="195" cy="-868.334"/>
      <text x="191.2061" y="-863.7988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">3</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <ellipse rx="32" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-910.834" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <ellipse rx="32" fill="none" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-910.834"/>
      <text x="456.3047" y="-906.2988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">future</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="195" cy="-910.834" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="195" cy="-910.834"/>
      <text x="191.2061" y="-906.2988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">2</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="255" cy="-868.334" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="255" cy="-868.334"/>
      <text x="251.2061" y="-863.7988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">4</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="315" cy="-910.834" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="315" cy="-910.834"/>
      <text x="311.2061" y="-906.2988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">5</text>
    </g>
    <g fill="silver" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="silver">
      <circle r="15" clip-path="url(#clipPath2)" cx="375" cy="-910.834" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="375" cy="-910.834"/>
      <text x="371.2061" y="-906.2988" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">6</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="144" cy="-1234" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="144" cy="-1234"/>
      <text x="140.2061" y="-1229.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">1</text>
    </g>
    <g fill="silver" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="silver">
      <circle r="15" clip-path="url(#clipPath2)" cx="204" cy="-1191.5" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="204" cy="-1191.5"/>
      <text x="200.2061" y="-1186.9648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">3</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <ellipse rx="32" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1234" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <ellipse rx="32" fill="none" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1234"/>
      <text x="456.3047" y="-1229.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">future</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="204" cy="-1234" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="204" cy="-1234"/>
      <text x="200.2061" y="-1229.4648" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">2</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="195" cy="-1005.667" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="195" cy="-1005.667"/>
      <text x="191.2061" y="-1001.1318" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">2</text>
    </g>
    <g fill="silver" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="silver">
      <circle r="15" clip-path="url(#clipPath2)" cx="315" cy="-1005.667" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="315" cy="-1005.667"/>
      <text x="311.2061" y="-1001.1318" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">5</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <circle r="15" clip-path="url(#clipPath2)" cx="135" cy="-1005.667" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <circle fill="none" r="15" clip-path="url(#clipPath2)" cx="135" cy="-1005.667"/>
      <text x="131.2061" y="-1001.1318" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">1</text>
    </g>
    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke="white">
      <ellipse rx="32" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1005.667" stroke="none"/>
    </g>
    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" stroke-width="2" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-68,1311)" stroke-linecap="butt">
      <ellipse rx="32" fill="none" ry="15" clip-path="url(#clipPath2)" cx="474" cy="-1005.667"/>
      <text x="456.3047" y="-1001.1318" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">future</text>
      <path fill="none" d="M147.2404 -1114.3297 L176.2314 -1093.7944" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M182.7596 -1089.1703 L175.8574 -1100.1866 L175.4154 -1094.3724 L170.0773 -1092.0264 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M150 -1123 L172 -1123" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M180 -1123 L168 -1128 L171 -1123 L168 -1118 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M210 -1123 L434 -1123" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M442 -1123 L430 -1128 L433 -1123 L430 -1118 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M210 -1080.5 L232 -1080.5" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M240 -1080.5 L228 -1085.5 L231 -1080.5 L228 -1075.5 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M147.2404 -902.1637 L176.2314 -881.6284" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M182.7597 -877.0043 L175.8574 -888.0206 L175.4154 -882.2064 L170.0773 -879.8603 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M150 -910.834 L172 -910.834" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M180 -910.834 L168 -915.834 L171 -910.834 L168 -905.834 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M210 -868.334 L232 -868.334" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M240 -868.334 L228 -873.334 L231 -868.334 L228 -863.334 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M210 -910.834 L292 -910.834" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M300 -910.834 L288 -915.834 L291 -910.834 L288 -905.834 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M330 -910.834 L352 -910.834" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M360 -910.834 L348 -915.834 L351 -910.834 L348 -905.834 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M390 -910.834 L434 -910.834" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M442 -910.834 L430 -915.834 L433 -910.834 L430 -905.834 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M156.2404 -1225.3297 L185.2314 -1204.7944" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M191.7596 -1200.1703 L184.8574 -1211.1866 L184.4154 -1205.3724 L179.0773 -1203.0264 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <text x="143.248" y="-1200.7979" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">fork!</text>
      <path fill="none" d="M159 -1234 L181 -1234" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M189 -1234 L177 -1239 L180 -1234 L177 -1229 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M219 -1234 L434 -1234" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M442 -1234 L430 -1239 L433 -1234 L430 -1229 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M210 -1005.667 L292 -1005.667" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M300 -1005.667 L288 -1010.667 L291 -1005.667 L288 -1000.667 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <text x="220.6406" y="-1014.1982" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">goes offline</text>
      <path fill="none" d="M150 -1005.667 L172 -1005.667" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M180 -1005.667 L168 -1010.667 L171 -1005.667 L168 -1000.667 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <path fill="none" d="M330 -1005.667 L434 -1005.667" stroke-width="1" clip-path="url(#clipPath2)"/>
      <path d="M442 -1005.667 L430 -1010.667 L433 -1005.667 L430 -1000.667 Z" stroke-width="1" clip-path="url(#clipPath2)" stroke="none"/>
      <text x="350.5889" y="-990.0654" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">back online,</text>
      <text x="348.5264" y="-975.9326" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">syncs, learns</text>
      <text x="362.6416" y="-961.7998" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" stroke-width="1" xml:space="preserve">of 3 &amp; 4</text>
    </g>
  </g>
</svg>

Changes to www/branching.wiki.

269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
...
363
364
365
366
367
368
369





































































370
371
372
373
374
375
376
    feel justified in creating forks that an interactive user must later
    clean up with <b>fossil merge</b> commands.</p></li>
</ol>

That leaves only one case where we can recommend use of "--allow-fork"
by interactive users: when you're working on
a personal branch so that creating a dual-tipped branch isn't going to
cause any other user an inconvenience or risk forking the development.
Only one developer is involved, and the fork may be short-lived, so
there is no risk of inadvertently forking the overall development effort.
This is a good alternative to branching when you just need to
temporarily fork the branch's development. It avoids cluttering the
global branch namespace with short-lived temporary named branches.

There's a common generalization of that case: you're a solo developer,
................................................................................

Figure 5 also shows two one-time tags on check-in 9.  (The diagram does
not make a graphical distinction between one-time and propagating tags.)
The <b>sym-release-1.0</b> tag means that check-in 9 can be referred to
using the more meaningful name "release-1.0."  The <b>closed</b> tag means
that check-in 9 is a "closed leaf."  A closed leaf is a leaf that should
never have direct children.






































































<h2>Review Of Terminology</h2>

<blockquote><dl>
<dt><b>Branch</b></dt>
<dd><p>A branch is a set of check-ins with the same value for their
"branch" property.</p></dd>







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
...
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
    feel justified in creating forks that an interactive user must later
    clean up with <b>fossil merge</b> commands.</p></li>
</ol>

That leaves only one case where we can recommend use of "--allow-fork"
by interactive users: when you're working on
a personal branch so that creating a dual-tipped branch isn't going to
cause any other user an inconvenience or risk [#bad-fork|forking the development].
Only one developer is involved, and the fork may be short-lived, so
there is no risk of inadvertently forking the overall development effort.
This is a good alternative to branching when you just need to
temporarily fork the branch's development. It avoids cluttering the
global branch namespace with short-lived temporary named branches.

There's a common generalization of that case: you're a solo developer,
................................................................................

Figure 5 also shows two one-time tags on check-in 9.  (The diagram does
not make a graphical distinction between one-time and propagating tags.)
The <b>sym-release-1.0</b> tag means that check-in 9 can be referred to
using the more meaningful name "release-1.0."  The <b>closed</b> tag means
that check-in 9 is a "closed leaf."  A closed leaf is a leaf that should
never have direct children.

<h2 id="bad-fork">How Can Forks Divide Development Effort?</h2>

[#forking|Above], we stated that forks carry a risk that development
effort on a branch can be divided among the forks. It might not be
immediately obvious why this is so. To see it, consider this swim lane
diagram:

<table border=1 cellpadding=10 hspace=10 vspace=10 align="center">
<tr><td align="center">
<img src="branch06.svg"><br>
Figure 6
</td></tr></table>

All users in this diagram start off with the same two checkins at the
tip of the working branch, 1 and 2, and they're all working towards some
indefinite, unified future. This is all happening on some long-lived,
shared working branch, such as trunk, though it could be anything else
that matches those same qualifiers.

The other key thing to realize in the diagram above is that each user
makes only one check-in to set this problem up, that being the one
shaded light gray in each swim lane.

User A sets the stage for this problem by creating a fork from check-in
1 as check-in 3.  It doesn't matter how this happens or why.

User B is sync'd with the same view of the repository as User A, so her
check-in goes in as a child of the forked check-in 3, that being the
latest check-in on the branch at the time.

Meanwhile, User C went offline after syncing his repo, so he still sees
check-ins 1 and 2 as the lastest on the branch. When he checks his
latest work in <i>after</i> User B makes her check-in, it's a child of
check-in 2, the latest on that branch at the time User C went offline.
User C doesn't learn about check-ins 3 and 4 until after coming back
online, syncing, and thus publishing his check-in 5 on the other side of
the fork.

User D sees all of this, because she comes along after Users A thru C
made their check-ins and pushed them to the master repository. Perhaps
User D is switching a working directory to this forked branch, or
perhaps User D is opening a Fossil repo clone into a new working
directory.  Regardless, it happens after User C pushed his check-in 5 to
the master repo, so User D sees that as the latest on the branch,
causing her work to be saved as a child of check-in 5, not of check-in
4, as it would if User C didn't come back online and sync before User D
showed up.

The end result of all of this is that everyone makes only one check-in,
but half of the check-ins are on one side of the fork, and half are on
the other. Some future User E who shows up can end up on either side of
the fork. If User E shows up with the state of the repository as drawn
above, they'll end up on the top side of the fork, because check-in 6 is
the latest, but if User A or B makes a seventh check-in to that branch
first, it will be as a child of check-in 4, and because it's the latest,
User E will end up on the bottom side of the fork instead.

In all of this, relalize that neither side of the fork is obviously
"correct." Every participant was doing the right thing by their own
lights at the time they made their lone check-in. We can only blame User
A for creating the fork if they did so on purpose, as by passing
"--allow-fork" when creating a check-in on a shared working branch. If
the fork was created inadvertently, it's no one's fault.

This is why forks on shared working branches are bad, which is why
Fossil tries so hard to avoid them, and why it warns you about it when
they do occur.


<h2>Review Of Terminology</h2>

<blockquote><dl>
<dt><b>Branch</b></dt>
<dd><p>A branch is a set of check-ins with the same value for their
"branch" property.</p></dd>