view docs/figures/figure-sg09.svg @ 5619:5673730db8d5 stable

evolve: clean merge state when content divergence resolution has no changes This patch backs out b723805d7fe1, which only hid the problem. Usually mergestate is cleared (or should be cleared) when creating a new changeset, but sometimes there are situations when there's nothing to commit. When solving content divergence resulted in no changes and no new changesets were created, mergestate was left untouched. That's a problem because sometimes mergestate contains files with conflicts that were already resolved by user, and such mergestate only applies to the current wdir parent. Since evolve has already dealt with the current wdir parent successfully when it reached this code, this is a good place to clean the mergestate.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 19 Sep 2020 17:49:31 +0200
parents 0d1893c1044c
children
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
 -->
<!-- Title: Mercurial graph Pages: 1 -->
<svg width="915pt" height="332pt"
 viewBox="0.00 0.00 915.00 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>Mercurial graph</title>
<!-- 0 -->
<g id="node1" class="node">
<title>0</title>
<polygon fill="none" stroke="#000000" stroke-width="4" points="72,-324 0,-324 0,-288 72,-288 72,-324"/>
<text text-anchor="middle" x="36" y="-302.3" font-family="mono" font-size="14.00" fill="#000000">0:0dc9</text>
</g>
<!-- 1 -->
<g id="node2" class="node">
<title>1</title>
<polygon fill="none" stroke="#000000" stroke-width="4" points="216,-324 144,-324 144,-288 216,-288 216,-324"/>
<text text-anchor="middle" x="180" y="-302.3" font-family="mono" font-size="14.00" fill="#000000">1:7b49</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge1" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M72.3373,-306C90.9973,-306 113.9327,-306 133.8329,-306"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="133.9241,-309.5001 143.924,-306 133.924,-302.5001 133.9241,-309.5001"/>
</g>
<!-- 2 -->
<g id="node3" class="node">
<title>2</title>
<polygon fill="none" stroke="#000000" stroke-width="4" points="360,-324 288,-324 288,-288 360,-288 360,-324"/>
<text text-anchor="middle" x="324" y="-302.3" font-family="mono" font-size="14.00" fill="#000000">2:9d21</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge2" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M216.3373,-306C234.9973,-306 257.9327,-306 277.8329,-306"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="277.9241,-309.5001 287.924,-306 277.924,-302.5001 277.9241,-309.5001"/>
</g>
<!-- 3 -->
<g id="node4" class="node">
<title>3</title>
<polygon fill="none" stroke="#000000" stroke-width="4" points="504,-324 432,-324 432,-288 504,-288 504,-324"/>
<text text-anchor="middle" x="468" y="-302.3" font-family="mono" font-size="14.00" fill="#000000">3:dd15</text>
</g>
<!-- 2&#45;&gt;3 -->
<g id="edge3" class="edge">
<title>2&#45;&gt;3</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M360.3373,-306C378.9973,-306 401.9327,-306 421.8329,-306"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="421.9241,-309.5001 431.924,-306 421.924,-302.5001 421.9241,-309.5001"/>
</g>
<!-- 4 -->
<g id="node5" class="node">
<title>4</title>
<polygon fill="none" stroke="#000000" stroke-width="2" points="648,-324 576,-324 576,-288 648,-288 648,-324"/>
<text text-anchor="middle" x="612" y="-302.3" font-family="mono" font-size="14.00" fill="#000000">4:b2be</text>
</g>
<!-- 3&#45;&gt;4 -->
<g id="edge4" class="edge">
<title>3&#45;&gt;4</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M504.3373,-306C522.9973,-306 545.9327,-306 565.8329,-306"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="565.9241,-309.5001 575.924,-306 565.924,-302.5001 565.9241,-309.5001"/>
</g>
<!-- 5 -->
<g id="node6" class="node">
<title>5</title>
<polygon fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="1,5" points="648,-180 576,-180 576,-144 648,-144 648,-180"/>
<text text-anchor="middle" x="612" y="-158.3" font-family="mono" font-size="14.00" fill="#000000">5:541f</text>
</g>
<!-- 3&#45;&gt;5 -->
<g id="edge5" class="edge">
<title>3&#45;&gt;5</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M486.2377,-287.7623C511.6646,-262.3354 557.8747,-216.1253 586.6431,-187.3569"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="589.3142,-189.6356 593.9104,-180.0896 584.3644,-184.6858 589.3142,-189.6356"/>
</g>
<!-- 6 -->
<g id="node7" class="node">
<title>6</title>
<polygon fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="1,5" points="648,-36 576,-36 576,0 648,0 648,-36"/>
<text text-anchor="middle" x="612" y="-14.3" font-family="mono" font-size="14.00" fill="#000000">6:e3a5</text>
</g>
<!-- 3&#45;&gt;6 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;6</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M477.0078,-287.9843C501.5046,-238.9909 569.4407,-103.1186 598.5153,-44.9694"/>
<polygon fill="#000000" stroke="#000000" stroke-width="2" points="601.6539,-46.5184 602.9956,-36.0089 595.3929,-43.3879 601.6539,-46.5184"/>
</g>
<!-- 4&#45;&gt;5 -->
<g id="edge7" class="edge">
<title>4&#45;&gt;5</title>
<path fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="5,2" d="M612,-279.7351C612,-250.8541 612,-205.2198 612,-180.0896"/>
<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="612" cy="-283.7623" rx="4" ry="4"/>
</g>
<!-- 4&#45;&gt;6 -->
<g id="edge8" class="edge">
<title>4&#45;&gt;6</title>
<path fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="5,2" d="M625.3853,-280.468C636.6169,-257.5116 651.7909,-222.5014 658,-190 662.6703,-165.5532 662.6703,-158.4468 658,-134 651.089,-97.8245 633.0717,-58.541 621.7462,-36.23"/>
<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="623.5304" cy="-284.19" rx="4" ry="4"/>
</g>
<!-- T5 -->
<g id="node8" class="node">
<title>T5</title>
<text text-anchor="start" x="710.5" y="-303.3" font-family="mono" font-style="italic" font-size="14.00" fill="#000000">working dir</text>
</g>
<!-- T5&#45;&gt;5 -->
<g id="edge9" class="edge">
<title>T5&#45;&gt;5</title>
<path fill="none" stroke="#c0c0c0" stroke-width="2" d="M737.7623,-287.7623C712.3354,-262.3354 666.1253,-216.1253 637.3569,-187.3569"/>
<polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="639.6356,-184.6858 630.0896,-180.0896 634.6858,-189.6356 639.6356,-184.6858"/>
</g>
<!-- T56 -->
<g id="node9" class="node">
<title>T56</title>
<text text-anchor="start" x="757.5" y="-87.3" font-family="mono" font-style="italic" font-size="14.00" fill="#000000">content&#45;divergent</text>
</g>
<!-- T56&#45;&gt;5 -->
<g id="edge10" class="edge">
<title>T56&#45;&gt;5</title>
<path fill="none" stroke="#c0c0c0" stroke-width="2" d="M773.7729,-108.0757C738.0585,-119.9805 691.8113,-135.3962 657.9171,-146.6943"/>
<polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="656.6429,-143.4296 648.2629,-149.9124 658.8566,-150.0704 656.6429,-143.4296"/>
</g>
<!-- T56&#45;&gt;6 -->
<g id="edge11" class="edge">
<title>T56&#45;&gt;6</title>
<path fill="none" stroke="#c0c0c0" stroke-width="2" d="M773.7729,-71.9243C738.0585,-60.0195 691.8113,-44.6038 657.9171,-33.3057"/>
<polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="658.8566,-29.9296 648.2629,-30.0876 656.6429,-36.5704 658.8566,-29.9296"/>
</g>
</g>
</svg>