Mercurial > evolve
view docs/figures/figure-ug02.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 | 561e97db1cf7 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="250" height="250" id="svg2" version="1.1" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" sodipodi:docname="figure-ug02.svg"> <defs id="defs4"> <marker inkscape:stockid="DotM" orient="auto" refY="0" refX="0" id="DotM" style="overflow:visible"> <path id="path4193" d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" transform="matrix(0.4,0,0,0.4,2.96,0.4)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="DotS" orient="auto" refY="0" refX="0" id="DotS" style="overflow:visible"> <path id="path4196" d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" transform="matrix(0.2,0,0,0.2,1.48,0.2)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow1Mstart" orient="auto" refY="0" refX="0" id="Arrow1Mstart" style="overflow:visible"> <path id="path3998" d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" transform="matrix(0.4,0,0,0.4,4,0)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0" refX="0" id="Arrow2Mend" style="overflow:visible"> <path id="path5316" style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="scale(-0.6,-0.6)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow1Lend" orient="auto" refY="0" refX="0" id="Arrow1Lend" style="overflow:visible"> <path id="path5292" d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" transform="matrix(-0.8,0,0,-0.8,-10,0)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow1Lstart" orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible"> <path id="path5289" d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" transform="matrix(0.8,0,0,0.8,10,0)" inkscape:connector-curvature="0" /> </marker> <linearGradient inkscape:collect="always" id="linearGradient5253"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop5255" /> <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop5257" /> </linearGradient> <linearGradient id="linearGradient5245" osb:paint="solid"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop5247" /> </linearGradient> <linearGradient id="linearGradient5207" osb:paint="solid"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop5209" /> </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient5253" id="linearGradient5259" x1="384.79102" y1="262.99402" x2="391.83789" y2="262.99402" gradientUnits="userSpaceOnUse" /> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0" refX="0" id="Arrow2Mend-6" style="overflow:visible"> <path id="path5316-5" style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="scale(-0.6,-0.6)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0" refX="0" id="Arrow2Mend-9" style="overflow:visible"> <path id="path5316-4" style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="scale(-0.6,-0.6)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0" refX="0" id="Arrow2Mend-1" style="overflow:visible"> <path id="path5316-9" style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="scale(-0.6,-0.6)" inkscape:connector-curvature="0" /> </marker> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0" refX="0" id="Arrow2Mend-2" style="overflow:visible"> <path id="path5316-7" style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="scale(-0.6,-0.6)" inkscape:connector-curvature="0" /> </marker> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="3.7318511" inkscape:cx="113.8845" inkscape:cy="132.4403" inkscape:document-units="px" inkscape:current-layer="svg2" showgrid="false" inkscape:window-width="1814" inkscape:window-height="950" inkscape:window-x="68" inkscape:window-y="45" inkscape:window-maximized="0" showguides="false" inkscape:snap-global="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0"> <inkscape:grid type="xygrid" id="grid8451" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true" originx="0.078088198" originy="-2937.8154" spacingx="1" spacingy="1" /> </sodipodi:namedview> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0.0780882,2135.4532)" /> <g id="g6159" transform="matrix(0.9999958,0,0,1,-382.57893,-236.94626)"> <rect y="238.83586" x="383.08054" height="18.05327" width="21.481829" id="rect2987" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> <text id="text5217" y="252.23067" x="390.00699" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan style="font-size:12px;line-height:1.25;font-family:sans-serif;stroke:none" y="252.23067" x="390.00699" id="tspan5219" sodipodi:role="line">0</tspan></text> </g> <g id="g3802" transform="translate(10.633748,1.389597)"> <rect y="0.50000465" x="49.866257" height="18.05327" width="21.481739" id="rect2987-4" style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> <text transform="scale(0.9999979,1.0000021)" id="text5217-8" y="13.894781" x="56.792801" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan id="tspan6156" sodipodi:role="line" x="56.792801" y="13.894781" style="font-size:11.9999752px;line-height:1.25;font-family:sans-serif">1</tspan></text> </g> <path style="display:inline;fill:none;stroke:#000000;stroke-width:0.99999791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" d="m 21.981735,10.916236 38.51827,1e-6" id="path8263" inkscape:connector-type="polyline" inkscape:connector-curvature="0" inkscape:connection-start-point="d4" inkscape:connection-start="#g6159" inkscape:connection-end="#g3802" inkscape:connection-end-point="d4" /> <g id="g6159-9" transform="matrix(1.0000075,0,0,1,-382.57429,-102.14843)"> <rect y="238.83586" x="383.08054" height="18.05327" width="21.481829" id="rect2987-41" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> <text id="text5217-7" y="252.23067" x="390.00699" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan style="font-size:12px;line-height:1.25;font-family:sans-serif;stroke:none" y="252.23067" x="390.00699" id="tspan5219-3" sodipodi:role="line">0</tspan></text> </g> <g id="g4101" transform="translate(3.9991556e-6,76)"> <rect y="131.44673" x="60.5" height="18.05327" width="21.481739" id="rect2987-4-4" style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> <text transform="scale(0.9999979,1.0000021)" id="text5217-8-7" y="144.84122" x="67.447083" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="144.84122" x="67.447083" id="tspan3914" sodipodi:role="line" style="font-size:11.9999752px;line-height:1.25;font-family:sans-serif">2</tspan></text> </g> <path style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-6)" d="m 18.903026,154.7407 44.684935,52.70603" id="path5012" inkscape:connector-type="polyline" inkscape:connector-curvature="0" inkscape:connection-start="#g6159-9" inkscape:connection-start-point="d4" inkscape:connection-end="#g4101" inkscape:connection-end-point="d4" /> <g id="g6499" transform="translate(1.9995778e-6,23.240701)"> <text transform="scale(0.9999979,1.0000021)" id="text5217-8-0" y="42.826412" x="46.543755" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="42.826412" x="46.543755" id="tspan8594" sodipodi:role="line" style="font-size:12px;line-height:1.25;font-family:monospace">hg commit --amend</tspan></text> <text id="text5223" y="54.872299" x="46.760452" style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" xml:space="preserve"><tspan y="54.872299" x="46.760452" id="tspan5227" sodipodi:role="line" style="font-size:10px;line-height:1.25;font-family:sans-serif">(safe, using evolve)</tspan></text> </g> <g id="g4022" transform="translate(3.9991556e-6,42.31518)"> <rect y="94.372253" x="60.5" height="18.05327" width="21.481739" id="rect2987-4-0" style="fill:none;stroke:#404040;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 3;stroke-dashoffset:0" /> <text transform="scale(0.9999979,1.0000021)" id="text5217-8-9" y="107.76683" x="67.426567" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#404040;fill-opacity:1;stroke:none" xml:space="preserve"><tspan id="tspan6156-7" sodipodi:role="line" x="67.426567" y="107.76683" style="font-size:11.9999752px;line-height:1.25;font-family:sans-serif">1</tspan></text> </g> <path style="display:inline;fill:none;stroke:#404040;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.94117647;marker-end:url(#Arrow2Mend)" d="m 21.991109,145.71407 38.508895,0" id="path8263-2" inkscape:connector-type="polyline" inkscape:connector-curvature="0" inkscape:connection-start="#g6159-9" inkscape:connection-start-point="d4" inkscape:connection-end="#g4022" inkscape:connection-end-point="d4" /> <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" x="122.10091" y="140.49216" id="text4115"><tspan sodipodi:role="line" id="tspan4117" x="122.10091" y="140.49216" style="font-size:10px;line-height:1.25;font-family:sans-serif"> </tspan></text> <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 3;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#DotM)" d="m 71.240874,154.7407 v 52.70603" id="path4123" inkscape:connector-type="polyline" inkscape:connector-curvature="0" inkscape:connection-start="#g4022" inkscape:connection-start-point="d4" inkscape:connection-end="#g4101" inkscape:connection-end-point="d4" /> <text xml:space="preserve" style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" x="51.716301" y="112.74194" id="text4799"><tspan sodipodi:role="line" id="tspan4801" x="51.716301" y="112.74194" style="font-size:10px;line-height:1.25;font-family:sans-serif">obsolete (and hidden)</tspan></text> <text xml:space="preserve" style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" x="94.602974" y="171.26965" id="text4803"><tspan sodipodi:role="line" id="tspan4805" x="94.602974" y="171.26965" style="font-size:10px;line-height:1.25;font-family:sans-serif">predecessor</tspan></text> <text xml:space="preserve" style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none" x="94.461372" y="189.68568" id="text4807"><tspan sodipodi:role="line" id="tspan4809" x="94.461372" y="189.68568" style="font-size:10px;line-height:1.25;font-family:sans-serif">successor</tspan></text> <path style="fill:none;stroke:#7d7d7d;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)" d="M 92.837054,168.99918 C 80.990247,168.9329 79.499863,165.60079 77.196029,156.38545" id="path5061" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#7d7d7d;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)" d="M 93.341603,186.6584 C 79.50523,184.42591 75.177832,194.04021 75.177832,205.32672" id="path5263" inkscape:connector-curvature="0" /> <path style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Mend-2);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="m 97.377997,116.02152 c 1.765752,12.09244 -25.911587,2.23195 -29.768403,17.65922" id="path5893" inkscape:connector-curvature="0" /> <g id="g6493" transform="translate(1.9995778e-6,1.240701)"> <path inkscape:connector-curvature="0" id="path8598" d="m 36.655934,114.93533 3.649333,6.32067 3.711171,-6.42777" style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> <g transform="translate(0.73014858,0)" id="g6489"> <path style="fill:none;stroke:#808080;stroke-width:1.21219063;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" d="m 40.606,21.314861 0,98.078949" id="path8466-5" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#808080;stroke-width:1.10104096;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" d="m 38.5505,21.370511 0,98.078949" id="path8466-5-3" inkscape:connector-curvature="0" /> </g> </g> </svg>