Fossil SCM
Attempt to use the feature added in [e32214a409] to extract the duplicate Pikchr code for diagram #4 in the rebase doc as a separate file, so we can refer to it twice via a Markdown image link instead. Doesn't work, but my next steps require a checkin I can reference.
Commit
a9dcda5dfdbca29defe785730d6f2dc55a30777fc45fae078c09b4c0fdeb06c3
Parent
1ddb400886783ae…
2 files changed
+26
+4
-52
+26
| --- a/www/rebase04.pikchr | ||
| +++ b/www/rebase04.pikchr | ||
| @@ -0,0 +1,26 @@ | ||
| 1 | +# Commit diagram referenced twice from rebaseharm.md, so we keep it | |
| 2 | +# external, to avoid duplicate inline code. | |
| 3 | + | |
| 4 | +scale = 0.8 | |
| 5 | +circle "C0" fit fill white | |
| 6 | +arrow right 50% | |
| 7 | +circle same "C1" | |
| 8 | +arrow same | |
| 9 | +circle same "C2" | |
| 10 | +arrow same | |
| 11 | +circle same "C4" | |
| 12 | +arrow same | |
| 13 | +circle same "C6" | |
| 14 | +circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 | |
| 15 | +arrow right 50% | |
| 16 | +circle same "C5" | |
| 17 | +arrow from C2 to C3 chop | |
| 18 | +C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 | |
| 19 | +arrow right 50% from C3P.e | |
| 20 | +C5P: circle same "C5'" | |
| 21 | +arrow from C6 to C3P chop | |
| 22 | + | |
| 23 | +box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ | |
| 24 | + behind C0 fill 0xc6e2ff color 0xaac5df | |
| 25 | +box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ | |
| 26 | + behind C0 fill 0x9accfc color 0xaac5df |
| --- a/www/rebase04.pikchr | |
| +++ b/www/rebase04.pikchr | |
| @@ -0,0 +1,26 @@ | |
| --- a/www/rebase04.pikchr | |
| +++ b/www/rebase04.pikchr | |
| @@ -0,0 +1,26 @@ | |
| 1 | # Commit diagram referenced twice from rebaseharm.md, so we keep it |
| 2 | # external, to avoid duplicate inline code. |
| 3 | |
| 4 | scale = 0.8 |
| 5 | circle "C0" fit fill white |
| 6 | arrow right 50% |
| 7 | circle same "C1" |
| 8 | arrow same |
| 9 | circle same "C2" |
| 10 | arrow same |
| 11 | circle same "C4" |
| 12 | arrow same |
| 13 | circle same "C6" |
| 14 | circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 |
| 15 | arrow right 50% |
| 16 | circle same "C5" |
| 17 | arrow from C2 to C3 chop |
| 18 | C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 |
| 19 | arrow right 50% from C3P.e |
| 20 | C5P: circle same "C5'" |
| 21 | arrow from C6 to C3P chop |
| 22 | |
| 23 | box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ |
| 24 | behind C0 fill 0xc6e2ff color 0xaac5df |
| 25 | box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ |
| 26 | behind C0 fill 0x9accfc color 0xaac5df |
+4
-52
| --- www/rebaseharm.md | ||
| +++ www/rebaseharm.md | ||
| @@ -123,36 +123,13 @@ | ||
| 123 | 123 | run concurrently with the main line in check-ins C4 and C6. Advocates |
| 124 | 124 | for rebase say that you should rebase the feature branch to the tip |
| 125 | 125 | of main in order to remove main-line development differences from |
| 126 | 126 | the feature branch's history: |
| 127 | 127 | |
| 128 | -~~~ pikchr toggle | |
| 129 | -# Duplicated below in section 5.0 | |
| 130 | -scale = 0.8 | |
| 131 | -circle "C0" fit fill white | |
| 132 | -arrow right 50% | |
| 133 | -circle same "C1" | |
| 134 | -arrow same | |
| 135 | -circle same "C2" | |
| 136 | -arrow same | |
| 137 | -circle same "C4" | |
| 138 | -arrow same | |
| 139 | -circle same "C6" | |
| 140 | -circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 | |
| 141 | -arrow right 50% | |
| 142 | -circle same "C5" | |
| 143 | -arrow from C2 to C3 chop | |
| 144 | -C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 | |
| 145 | -arrow right 50% from C3P.e | |
| 146 | -C5P: circle same "C5'" | |
| 147 | -arrow from C6 to C3P chop | |
| 148 | - | |
| 149 | -box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ | |
| 150 | - behind C0 fill 0xc6e2ff color 0xaac5df | |
| 151 | -box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ | |
| 152 | - behind C0 fill 0x9accfc color 0xaac5df | |
| 153 | -~~~ | |
| 128 | +![rebase diagram][4] | |
| 129 | + | |
| 130 | +[4]: ./rebase04.pikchr | |
| 154 | 131 | |
| 155 | 132 | |
| 156 | 133 | You could choose to collapse C3\' and C5\' into a single check-in |
| 157 | 134 | as part of this rebase, but that's a side issue we'll deal with |
| 158 | 135 | [separately](#collapsing). |
| @@ -255,36 +232,11 @@ | ||
| 255 | 232 | |
| 256 | 233 | ## <a name="timestamps"></a>4.0 Rebase causes timestamp confusion |
| 257 | 234 | |
| 258 | 235 | Consider the earlier example of rebasing a feature branch: |
| 259 | 236 | |
| 260 | -~~~ pikchr toggle | |
| 261 | -# Copy of second diagram in section 2.2 above | |
| 262 | -scale = 0.8 | |
| 263 | -circle "C0" fit fill white | |
| 264 | -arrow right 50% | |
| 265 | -circle same "C1" | |
| 266 | -arrow same | |
| 267 | -circle same "C2" | |
| 268 | -arrow same | |
| 269 | -circle same "C4" | |
| 270 | -arrow same | |
| 271 | -circle same "C6" | |
| 272 | -circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 | |
| 273 | -arrow right 50% | |
| 274 | -circle same "C5" | |
| 275 | -arrow from C2 to C3 chop | |
| 276 | -C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 | |
| 277 | -arrow right 50% from C3P.e | |
| 278 | -C5P: circle same "C5'" | |
| 279 | -arrow from C6 to C3P chop | |
| 280 | - | |
| 281 | -box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ | |
| 282 | - behind C0 fill 0xc6e2ff color 0xaac5df | |
| 283 | -box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ | |
| 284 | - behind C0 fill 0x9accfc color 0xaac5df | |
| 285 | -~~~ | |
| 237 | +![rebase diagram from section 2.2 again][4] | |
| 286 | 238 | |
| 287 | 239 | What timestamps go on the C3\' and C5\' check-ins? If you choose |
| 288 | 240 | the same timestamps as the original C3 and C5, then you have the |
| 289 | 241 | odd situation C3' is older than its parent C6. We call that a |
| 290 | 242 | "timewarp" in Fossil. Timewarps can also happen due to misconfigured |
| 291 | 243 |
| --- www/rebaseharm.md | |
| +++ www/rebaseharm.md | |
| @@ -123,36 +123,13 @@ | |
| 123 | run concurrently with the main line in check-ins C4 and C6. Advocates |
| 124 | for rebase say that you should rebase the feature branch to the tip |
| 125 | of main in order to remove main-line development differences from |
| 126 | the feature branch's history: |
| 127 | |
| 128 | ~~~ pikchr toggle |
| 129 | # Duplicated below in section 5.0 |
| 130 | scale = 0.8 |
| 131 | circle "C0" fit fill white |
| 132 | arrow right 50% |
| 133 | circle same "C1" |
| 134 | arrow same |
| 135 | circle same "C2" |
| 136 | arrow same |
| 137 | circle same "C4" |
| 138 | arrow same |
| 139 | circle same "C6" |
| 140 | circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 |
| 141 | arrow right 50% |
| 142 | circle same "C5" |
| 143 | arrow from C2 to C3 chop |
| 144 | C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 |
| 145 | arrow right 50% from C3P.e |
| 146 | C5P: circle same "C5'" |
| 147 | arrow from C6 to C3P chop |
| 148 | |
| 149 | box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ |
| 150 | behind C0 fill 0xc6e2ff color 0xaac5df |
| 151 | box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ |
| 152 | behind C0 fill 0x9accfc color 0xaac5df |
| 153 | ~~~ |
| 154 | |
| 155 | |
| 156 | You could choose to collapse C3\' and C5\' into a single check-in |
| 157 | as part of this rebase, but that's a side issue we'll deal with |
| 158 | [separately](#collapsing). |
| @@ -255,36 +232,11 @@ | |
| 255 | |
| 256 | ## <a name="timestamps"></a>4.0 Rebase causes timestamp confusion |
| 257 | |
| 258 | Consider the earlier example of rebasing a feature branch: |
| 259 | |
| 260 | ~~~ pikchr toggle |
| 261 | # Copy of second diagram in section 2.2 above |
| 262 | scale = 0.8 |
| 263 | circle "C0" fit fill white |
| 264 | arrow right 50% |
| 265 | circle same "C1" |
| 266 | arrow same |
| 267 | circle same "C2" |
| 268 | arrow same |
| 269 | circle same "C4" |
| 270 | arrow same |
| 271 | circle same "C6" |
| 272 | circle same "C3" at last arrow.width + C0.rad*2 heading 30 from C2 |
| 273 | arrow right 50% |
| 274 | circle same "C5" |
| 275 | arrow from C2 to C3 chop |
| 276 | C3P: circle same "C3'" at first arrow.width + C0.rad*2 heading 30 from C6 |
| 277 | arrow right 50% from C3P.e |
| 278 | C5P: circle same "C5'" |
| 279 | arrow from C6 to C3P chop |
| 280 | |
| 281 | box ht C3.y-C2.y wid C5P.e.x-C0.w.x+1.5*C1.rad with .w at 0.5*(first arrow.wid) west of C0.w \ |
| 282 | behind C0 fill 0xc6e2ff color 0xaac5df |
| 283 | box ht previous.ht wid previous.e.x - C2.w.x with .se at previous.ne \ |
| 284 | behind C0 fill 0x9accfc color 0xaac5df |
| 285 | ~~~ |
| 286 | |
| 287 | What timestamps go on the C3\' and C5\' check-ins? If you choose |
| 288 | the same timestamps as the original C3 and C5, then you have the |
| 289 | odd situation C3' is older than its parent C6. We call that a |
| 290 | "timewarp" in Fossil. Timewarps can also happen due to misconfigured |
| 291 |
| --- www/rebaseharm.md | |
| +++ www/rebaseharm.md | |
| @@ -123,36 +123,13 @@ | |
| 123 | run concurrently with the main line in check-ins C4 and C6. Advocates |
| 124 | for rebase say that you should rebase the feature branch to the tip |
| 125 | of main in order to remove main-line development differences from |
| 126 | the feature branch's history: |
| 127 | |
| 128 | ![rebase diagram][4] |
| 129 | |
| 130 | [4]: ./rebase04.pikchr |
| 131 | |
| 132 | |
| 133 | You could choose to collapse C3\' and C5\' into a single check-in |
| 134 | as part of this rebase, but that's a side issue we'll deal with |
| 135 | [separately](#collapsing). |
| @@ -255,36 +232,11 @@ | |
| 232 | |
| 233 | ## <a name="timestamps"></a>4.0 Rebase causes timestamp confusion |
| 234 | |
| 235 | Consider the earlier example of rebasing a feature branch: |
| 236 | |
| 237 | ![rebase diagram from section 2.2 again][4] |
| 238 | |
| 239 | What timestamps go on the C3\' and C5\' check-ins? If you choose |
| 240 | the same timestamps as the original C3 and C5, then you have the |
| 241 | odd situation C3' is older than its parent C6. We call that a |
| 242 | "timewarp" in Fossil. Timewarps can also happen due to misconfigured |
| 243 |