+10
-14
pages/blog/stacking.md
+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">