engineering blog at https://blog.tangled.sh

noodle on blog post a little more

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 87faeb12 2c2ab62c

verified
Changed files
+10 -14
pages
+10 -14
pages/blog/stacking.md
··· 3 3 template: 4 4 slug: stacking 5 5 title: jujutsu-style code review 6 - subtitle: we now support jujutsu style "interdiff" code-review! 6 + subtitle: tangled now supports jujutsu change-ids! 7 7 date: 2025-06-02 8 8 image: /static/img/hidden-ref.png 9 9 authors: ··· 49 49 [a] some small refactor 50 50 ``` 51 51 52 - And when only *newly added commits* are easy to review, this 52 + And when only newly added commits are easy to review, this 53 53 is what ends up happening: 54 54 55 55 ``` ··· 86 86 This has the downside of clobbering the output of `git 87 87 blame` (if there is a bug in the new feature, you will first 88 88 land on `e`, and upon digging further, you will land on 89 - `b`). 89 + `b`). This becomes incredibly tricky to navigate if reviews 90 + go on through multiple cycles. 90 91 91 92 92 93 ## the interdiff model 93 94 94 95 With jujutsu however, you have the tools at hand to 95 96 fearlessly edit, split, squash and rework old commits (you 96 - could do this with git if you are familiar with fixup 97 - commits or interactive rebasing). 97 + can absolutely achieve this with git and interactive 98 + rebasing, but it is certainly not trivial). 98 99 99 100 Let's try that again: 100 101 ··· 206 207 <a href="static/img/top_of_stack.jpeg"> 207 208 <img class="my-1 h-auto max-w-full" src="static/img/top_of_stack.jpeg"> 208 209 </a> 209 - <figcaption class="text-center">The "stack" attachment is similar to Gerrit's relation chain</figcaption> 210 + <figcaption class="text-center">The "stack" is similar to Gerrit's relation chain</figcaption> 210 211 </figure> 211 212 212 213 After a while, I receive a couple of review comments, but ··· 272 273 $ jj edit so 273 274 274 275 # hack, hack, hack 275 - 276 - $ jj log 277 - @ so set: introduce set difference push-soqmukrvport* 278 - ├ sq set: introduce set intersection 279 - ├ mk set: introduce set union 280 - ├ my set: introduce basic set operations 281 - ~ 282 276 ``` 283 277 284 278 We are done addressing reviews, let us push our code: ··· 288 282 Move sideways bookmark push-soqmukrvport from fc06362295bd to dfe2750f6d40 289 283 ``` 290 284 291 - Upon resubmitting the PR for review: 285 + Upon resubmitting the PR for review, Tangled is able to 286 + accurately map every change in the resubmitted branch to its 287 + original PR, using jujutsu change-ids: 292 288 293 289 <div class="flex justify-center items-start gap-2"> 294 290 <figure class="w-1/2 m-0 flex flex-col items-center">