This is silly. I use Phabricator and I don't commit my changes directly to `master`. I always make a branch, exactly the same as you would for pull requests. And I have multiple commits on that branch. Why? Firstly it means I can still pull master and rebase my changes to update them fairly easily. Secondly it means I can work on more than one thing at a time (who only ever has one task in progress?), thirdly it mean…
> Firstly it means I can still pull master and rebase my changes to update them fairly easily.
Like the author says, you can do this, but it's easier when your commits are stacked on master (you only do one rebase vs. rebasing each of your branches).
> Secondly it means I can work on more than one thing at a time (who only ever has one task in progress?)
Read the article, the author uses interactive rebases to edit commits.
> finally having a change split into several commits can make code review easier
How? The reviewer doesn't see those commits, unless you submit them as separate revisions, in which case they wouldn't be on the same branch.
> As far as I can tell the only significant difference between these two approaches is that with `arc` the history in the repository ends up nice and linear, without loads of branches.
Either approach would have the same result, it's all about how things are organized in your local repository.
I'm not fully convinced (the tooling isn't exactly built for this workflow and you lose "arc feature"), but I like the idea.