Mercurial > evolve
view docs/figures/figure-sg09.svg @ 6889:a66cf9008781
obslog: also display patch for rebased changesets
This applies the same logic that is used for "merge-diff" to rebased
changesets. The successors' content is compared to the content of the
predecessors rebased in-memory on the new parents.
This highlights the changes that were actually introduced while rebasing (like
conflict resolution or API adjustment).
As a side effect, obslog now also outputs slightly more diffs for splits,
showing what parts of the original big changeset were moved to the smaller
split components (but for now it only works for the first few changesets).
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 22 Sep 2024 02:58:54 +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->1 --> <g id="edge1" class="edge"> <title>0->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->2 --> <g id="edge2" class="edge"> <title>1->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->3 --> <g id="edge3" class="edge"> <title>2->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->4 --> <g id="edge4" class="edge"> <title>3->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->5 --> <g id="edge5" class="edge"> <title>3->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->6 --> <g id="edge6" class="edge"> <title>3->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->5 --> <g id="edge7" class="edge"> <title>4->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->6 --> <g id="edge8" class="edge"> <title>4->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->5 --> <g id="edge9" class="edge"> <title>T5->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-divergent</text> </g> <!-- T56->5 --> <g id="edge10" class="edge"> <title>T56->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->6 --> <g id="edge11" class="edge"> <title>T56->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>