ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/demos/juggle_conflicts.svg
Ilya Grigoriev 25d65d0801 demos: changes related to the new default log revset
We remove some branches that would be shown by default and
remove `-r 'all()'` where it's no longer necessary.
2023-10-03 23:52:28 -07:00

128 lines
17 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- Created with term-transcript v0.3.0 (https://github.com/slowli/term-transcript) -->
<svg viewBox="0 0 720 1586" width="720" height="1586" xmlns="http://www.w3.org/2000/svg">
<style>
.container {
font: 14px Fira Code, Liberation Mono, SFMono-Regular, Consolas, Menlo, monospace;
line-height: 18px;
}
.input,.output,.output-bg {
white-space: pre;
}
.input-bg { fill: #fff; fill-opacity: 0.1; }
.output-bg { user-select: none; text-rendering: geometricPrecision; stroke-width: 0.1; }
.bold,.prompt { font-weight: 600; }
.italic { font-style: italic; }
.underline { text-decoration: underline; }
.dimmed { fill-opacity: 0.7; }
.hard-br { font-size: 16px; fill-opacity: 0.8; user-select: none; }
.fg0 { fill: #0c0c0c; } .output-bg .fg0 { stroke: #0c0c0c; }
.fg1 { fill: #c50f1f; } .output-bg .fg1 { stroke: #c50f1f; }
.fg2 { fill: #13a10e; } .output-bg .fg2 { stroke: #13a10e; }
.fg3 { fill: #c19c00; } .output-bg .fg3 { stroke: #c19c00; }
.fg4 { fill: #0037da; } .output-bg .fg4 { stroke: #0037da; }
.fg5 { fill: #881798; } .output-bg .fg5 { stroke: #881798; }
.fg6 { fill: #3a96dd; } .output-bg .fg6 { stroke: #3a96dd; }
.fg7 { fill: #cccccc; } .output-bg .fg7 { stroke: #cccccc; }
.fg8 { fill: #767676; } .output-bg .fg8 { stroke: #767676; }
.fg9 { fill: #e74856; } .output-bg .fg9 { stroke: #e74856; }
.fg10 { fill: #16c60c; } .output-bg .fg10 { stroke: #16c60c; }
.fg11 { fill: #f9f1a5; } .output-bg .fg11 { stroke: #f9f1a5; }
.fg12 { fill: #3b78ff; } .output-bg .fg12 { stroke: #3b78ff; }
.fg13 { fill: #b4009e; } .output-bg .fg13 { stroke: #b4009e; }
.fg14 { fill: #61d6d6; } .output-bg .fg14 { stroke: #61d6d6; }
.fg15 { fill: #f2f2f2; } .output-bg .fg15 { stroke: #f2f2f2; }
</style>
<rect width="100%" height="100%" y="0" rx="4.5" style="fill: #0c0c0c;" />
<svg x="0" y="10" width="720" height="1566" viewBox="0 0 720 1566">
<g class="input-bg"></g>
<text class="container fg7"><tspan xml:space="preserve" x="10" y="14" class="output">
</tspan><tspan xml:space="preserve" x="10" y="32" class="output"><tspan class="fg2"># We are in a repo with three commits, all</tspan>
</tspan><tspan xml:space="preserve" x="10" y="50" class="output"><tspan class="fg2"># editing the same line:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="68" class="output">
</tspan><tspan xml:space="preserve" x="10" y="86" class="output">$ jj log
</tspan><tspan xml:space="preserve" x="10" y="104" class="output">@  <tspan class="bold fg13">y</tspan><tspan class="bold fg8">unnnwvo</tspan><tspan class="bold"> </tspan><tspan class="bold fg3">jjfan@example.com</tspan><tspan class="bold"> </tspan><tspan class="bold fg14">2023-10-03 17:53:25.563 -07:00</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">3</tspan><tspan class="bold fg8">8d0479d</tspan>
</tspan><tspan xml:space="preserve" x="10" y="122" class="output">│  <tspan class="bold fg10">(empty)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(no description set)</tspan>
</tspan><tspan xml:space="preserve" x="10" y="140" class="output">◉  <tspan class="bold fg5">n</tspan><tspan class="fg8">vktsnuz</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.563 -07:00</tspan> <tspan class="fg5">third</tspan> <tspan class="bold fg4">e</tspan><tspan class="fg8">e26fd86</tspan>
</tspan><tspan xml:space="preserve" x="10" y="158" class="output">  third
</tspan><tspan xml:space="preserve" x="10" y="176" class="output">◉  <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.502 -07:00</tspan> <tspan class="fg5">second</tspan> <tspan class="bold fg4">1</tspan><tspan class="fg8">242b1fd</tspan>
</tspan><tspan xml:space="preserve" x="10" y="194" class="output">  second
</tspan><tspan xml:space="preserve" x="10" y="212" class="output">◉  <tspan class="bold fg5">q</tspan><tspan class="fg8">vwkrmvo</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.439 -07:00</tspan> <tspan class="fg5">first</tspan> <tspan class="bold fg4">5</tspan><tspan class="fg8">13e2a6d</tspan>
</tspan><tspan xml:space="preserve" x="10" y="230" class="output">  first
</tspan><tspan xml:space="preserve" x="10" y="248" class="output">◉  <tspan class="bold fg5">z</tspan><tspan class="fg8">zzzzzzz</tspan> <tspan class="fg2">root()</tspan> <tspan class="bold fg4">0</tspan><tspan class="fg8">0000000</tspan>
</tspan><tspan xml:space="preserve" x="10" y="266" class="output">$ jj diff -r first
</tspan><tspan xml:space="preserve" x="10" y="284" class="output"><tspan class="fg3">Added regular file file:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="302" class="output">     <tspan class="fg2">   1</tspan>: <tspan class="fg2">first</tspan>
</tspan><tspan xml:space="preserve" x="10" y="320" class="output">$ jj diff -r second
</tspan><tspan xml:space="preserve" x="10" y="338" class="output"><tspan class="fg3">Modified regular file file:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="356" class="output"><tspan class="fg1">   1</tspan> <tspan class="fg2">   1</tspan>: <tspan class="fg1">first</tspan><tspan class="fg2">second</tspan>
</tspan><tspan xml:space="preserve" x="10" y="374" class="output">$ jj diff -r third
</tspan><tspan xml:space="preserve" x="10" y="392" class="output"><tspan class="fg3">Modified regular file file:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="410" class="output"><tspan class="fg1">   1</tspan> <tspan class="fg2">   1</tspan>: <tspan class="fg1">second</tspan><tspan class="fg2">third</tspan>
</tspan><tspan xml:space="preserve" x="10" y="428" class="output">
</tspan><tspan xml:space="preserve" x="10" y="446" class="output"><tspan class="fg2"># Let's reorder the second and third commits:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="464" class="output">
</tspan><tspan xml:space="preserve" x="10" y="482" class="output">$ jj rebase -s third -d first
</tspan><tspan xml:space="preserve" x="10" y="500" class="output">Rebased 2 commits
</tspan><tspan xml:space="preserve" x="10" y="518" class="output">Working copy now at: <tspan class="bold fg13">y</tspan><tspan class="bold fg8">unnnwvo</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">3</tspan><tspan class="bold fg8">f07a2de</tspan><tspan class="bold"> </tspan><tspan class="bold fg9">(conflict)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(empty)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(no description set)</tspan>
</tspan><tspan xml:space="preserve" x="10" y="536" class="output">Parent commit      : <tspan class="bold fg5">n</tspan><tspan class="fg8">vktsnuz</tspan> <tspan class="bold fg4">9</tspan><tspan class="fg8">be78b4c</tspan> <tspan class="fg5">third</tspan><tspan class="fg8"> | </tspan><tspan class="fg1">(conflict)</tspan> third
</tspan><tspan xml:space="preserve" x="10" y="554" class="output">Added 0 files, modified 1 files, removed 0 files
</tspan><tspan xml:space="preserve" x="10" y="572" class="output">$ jj rebase -s second -d third
</tspan><tspan xml:space="preserve" x="10" y="590" class="output">Rebased 1 commits
</tspan><tspan xml:space="preserve" x="10" y="608" class="output">$ jj log
</tspan><tspan xml:space="preserve" x="10" y="626" class="output">◉  <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.742 -07:00</tspan> <tspan class="fg5">second</tspan> <tspan class="bold fg4">d</tspan><tspan class="fg8">b5b5e19</tspan>
</tspan><tspan xml:space="preserve" x="10" y="644" class="output">  second
</tspan><tspan xml:space="preserve" x="10" y="662" class="output">│ @  <tspan class="bold fg13">y</tspan><tspan class="bold fg8">unnnwvo</tspan><tspan class="bold"> </tspan><tspan class="bold fg3">jjfan@example.com</tspan><tspan class="bold"> </tspan><tspan class="bold fg14">2023-10-03 17:53:25.712 -07:00</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">3</tspan><tspan class="bold fg8">f07a2de</tspan><tspan class="bold"> </tspan><tspan class="bold fg9">conflict</tspan>
</tspan><tspan xml:space="preserve" x="10" y="680" class="output">├─╯  <tspan class="bold fg10">(empty)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(no description set)</tspan>
</tspan><tspan xml:space="preserve" x="10" y="698" class="output">◉  <tspan class="bold fg5">n</tspan><tspan class="fg8">vktsnuz</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.712 -07:00</tspan> <tspan class="fg5">third</tspan> <tspan class="bold fg4">9</tspan><tspan class="fg8">be78b4c</tspan>
</tspan><tspan xml:space="preserve" x="10" y="716" class="output">│  <tspan class="fg1">conflict</tspan>
</tspan><tspan xml:space="preserve" x="10" y="734" class="output">  third
</tspan><tspan xml:space="preserve" x="10" y="752" class="output">◉  <tspan class="bold fg5">q</tspan><tspan class="fg8">vwkrmvo</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.439 -07:00</tspan> <tspan class="fg5">first</tspan> <tspan class="bold fg4">5</tspan><tspan class="fg8">13e2a6d</tspan>
</tspan><tspan xml:space="preserve" x="10" y="770" class="output">  first
</tspan><tspan xml:space="preserve" x="10" y="788" class="output">◉  <tspan class="bold fg5">z</tspan><tspan class="fg8">zzzzzzz</tspan> <tspan class="fg2">root()</tspan> <tspan class="bold fg4">0</tspan><tspan class="fg8">0000000</tspan>
</tspan><tspan xml:space="preserve" x="10" y="806" class="output">
</tspan><tspan xml:space="preserve" x="10" y="824" class="output"><tspan class="fg2"># The commit labeled "third" has a conflict, as expected. What's more</tspan>
</tspan><tspan xml:space="preserve" x="10" y="842" class="output"><tspan class="fg2"># interesting is that the top commit has no conflict! That's because it</tspan>
</tspan><tspan xml:space="preserve" x="10" y="860" class="output"><tspan class="fg2"># has the changes from all three commits applied to it.</tspan>
</tspan><tspan xml:space="preserve" x="10" y="878" class="output"><tspan class="fg2"># </tspan>
</tspan><tspan xml:space="preserve" x="10" y="896" class="output"><tspan class="fg2"># Let's verify that by looking at its contents:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="914" class="output">
</tspan><tspan xml:space="preserve" x="10" y="932" class="output">$ jj co second
</tspan><tspan xml:space="preserve" x="10" y="950" class="output">Working copy now at: <tspan class="bold fg13">p</tspan><tspan class="bold fg8">pxyrxtk</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">a</tspan><tspan class="bold fg8">9b71825</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(empty)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(no description set)</tspan>
</tspan><tspan xml:space="preserve" x="10" y="968" class="output">Parent commit      : <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="bold fg4">d</tspan><tspan class="fg8">b5b5e19</tspan> <tspan class="fg5">second</tspan><tspan class="fg8"> | </tspan>second
</tspan><tspan xml:space="preserve" x="10" y="986" class="output">Added 0 files, modified 1 files, removed 0 files
</tspan><tspan xml:space="preserve" x="10" y="1004" class="output">$ cat file
</tspan><tspan xml:space="preserve" x="10" y="1022" class="output">third
</tspan><tspan xml:space="preserve" x="10" y="1040" class="output">
</tspan><tspan xml:space="preserve" x="10" y="1058" class="output"><tspan class="fg2"># Let's now instead make "second" and "third"</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1076" class="output"><tspan class="fg2"># sibling and merge them:</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1094" class="output">
</tspan><tspan xml:space="preserve" x="10" y="1112" class="output">$ jj rebase -s second -d first
</tspan><tspan xml:space="preserve" x="10" y="1130" class="output">Rebased 2 commits
</tspan><tspan xml:space="preserve" x="10" y="1148" class="output">Working copy now at: <tspan class="bold fg13">p</tspan><tspan class="bold fg8">pxyrxtk</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">4</tspan><tspan class="bold fg8">6d0cfc1</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(empty)</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(no description set)</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1166" class="output">Parent commit      : <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="bold fg4">7</tspan><tspan class="fg8">507959f</tspan> <tspan class="fg5">second</tspan><tspan class="fg8"> | </tspan>second
</tspan><tspan xml:space="preserve" x="10" y="1184" class="output">Added 0 files, modified 1 files, removed 0 files
</tspan><tspan xml:space="preserve" x="10" y="1202" class="output">$ jj merge second third -m merged
</tspan><tspan xml:space="preserve" x="10" y="1220" class="output">Working copy now at: <tspan class="bold fg13">t</tspan><tspan class="bold fg8">umuouyq</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">c</tspan><tspan class="bold fg8">f68a830</tspan><tspan class="bold"> </tspan><tspan class="bold fg10">(empty)</tspan><tspan class="bold"> merged</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1238" class="output">Parent commit      : <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="bold fg4">7</tspan><tspan class="fg8">507959f</tspan> <tspan class="fg5">second</tspan><tspan class="fg8"> | </tspan>second
</tspan><tspan xml:space="preserve" x="10" y="1256" class="output">Parent commit      : <tspan class="bold fg5">n</tspan><tspan class="fg8">vktsnuz</tspan> <tspan class="bold fg4">9</tspan><tspan class="fg8">be78b4c</tspan> <tspan class="fg5">third</tspan><tspan class="fg8"> | </tspan><tspan class="fg1">(conflict)</tspan> third
</tspan><tspan xml:space="preserve" x="10" y="1274" class="output">Added 0 files, modified 1 files, removed 0 files
</tspan><tspan xml:space="preserve" x="10" y="1292" class="output">$ jj log
</tspan><tspan xml:space="preserve" x="10" y="1310" class="output">@    <tspan class="bold fg13">t</tspan><tspan class="bold fg8">umuouyq</tspan><tspan class="bold"> </tspan><tspan class="bold fg3">jjfan@example.com</tspan><tspan class="bold"> </tspan><tspan class="bold fg14">2023-10-03 17:53:25.868 -07:00</tspan><tspan class="bold"> </tspan><tspan class="bold fg12">c</tspan><tspan class="bold fg8">f68a830</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1328" class="output">├─╮  <tspan class="bold fg10">(empty)</tspan><tspan class="bold"> merged</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1346" class="output">│ ◉  <tspan class="bold fg5">n</tspan><tspan class="fg8">vktsnuz</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.712 -07:00</tspan> <tspan class="fg5">third</tspan> <tspan class="bold fg4">9</tspan><tspan class="fg8">be78b4c</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1364" class="output">│ │  <tspan class="fg1">conflict</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1382" class="output">   third
</tspan><tspan xml:space="preserve" x="10" y="1400" class="output">◉ │  <tspan class="bold fg5">o</tspan><tspan class="fg8">ozovxnq</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.838 -07:00</tspan> <tspan class="fg5">second</tspan> <tspan class="bold fg4">7</tspan><tspan class="fg8">507959f</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1418" class="output">├─╯  second
</tspan><tspan xml:space="preserve" x="10" y="1436" class="output">◉  <tspan class="bold fg5">q</tspan><tspan class="fg8">vwkrmvo</tspan> <tspan class="fg3">jjfan@example.com</tspan> <tspan class="fg6">2023-10-03 17:53:25.439 -07:00</tspan> <tspan class="fg5">first</tspan> <tspan class="bold fg4">5</tspan><tspan class="fg8">13e2a6d</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1454" class="output">  first
</tspan><tspan xml:space="preserve" x="10" y="1472" class="output">◉  <tspan class="bold fg5">z</tspan><tspan class="fg8">zzzzzzz</tspan> <tspan class="fg2">root()</tspan> <tspan class="bold fg4">0</tspan><tspan class="fg8">0000000</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1490" class="output">
</tspan><tspan xml:space="preserve" x="10" y="1508" class="output"><tspan class="fg2"># Again, because the merge commit has the</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1526" class="output"><tspan class="fg2"># changes from all three commits, it has no</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1544" class="output"><tspan class="fg2"># conflict.</tspan>
</tspan><tspan xml:space="preserve" x="10" y="1562" class="output">
</tspan></text>
</svg>
</svg>