Split feature branch into several code reviews


#1

When I’m on a feature branch and it ends up with 15-20 commits, having one large code review gets kind of tedious. Going through the Arcanist User Guide, it says that arc diff lets me use commit ranges. Unfortunately it also states:

Since the end of the range is fixed (the working copy state), you only need to specify the beginning of the range.

Since I cannot specify an end, and I want review on a range that does not end at HEAD, is there something more convenient than creating a sub-feature-branch onto which I cherry-pick the commit range, receive feedback and then rebase back in case the review mandated changes?


#2

The only thing I can think of that might be a more convenient than branch-per-revision is having commit-per-revision (This is what I use):

  1. using git rebase -i, squash each revision to a single commit.
  2. using git rebase -i, run arc diff HEAD~ on each such commit to create/update the revision.
  3. when updating, update at the top, and then use git rebase -i to move the new commits to the right place, and squash them to the single commit for the right revision.
  4. repeat steps 2-3 as needed.
  5. When done, land the whole thing.