Jane Street implements an awesome code review system: https://janestreet.com/tech-talks/janestreet-code-review

> [...] Telling a Story with Commits [...]

> [...] it should take the average reviewer 5-10 minutes [...]

Jane Street code review system kinda solves this problem by

- making each commit a branch,

- stacking branches on top of each other (gracefully handling rebases and everything that comes with it), and

- reviewing one iteration at a time

So one reviews single commits independently (takes probably around 5mins), and "forces" the reviewer to re-live the story that led to the bigger diff.

I do not work at Jane Street but I frequently find myself pondering on how broken the common code review system/culture is. I've heard of tools like graphite.dev that build on top of git to provide a code review system similar to the Jane Street one, but I'm not an active user yet (I just manually stack PRs, keep them small and ask for review to one at a time to my colleagues, and handle the rebasing etc. manually myself for now).

> handle the rebasing etc. manually myself for now

jj[1] is helpful for this. If you have a chain of commits like A -> B -> C, and you make a change to A, the rest of the chain is automatically rebased.

[1] https://jj-vcs.github.io/

[deleted]

This is also the system we used with gerrit. Googles PR system. It uses cherry picks instead of branches but it's fantastic and gracefully splits the PR work between reviewer and committer

[dead]