I’ve been using Phabricator for several months now. Code review happened before Phab too – we weren’t shipping blind. Years of SVN, then Mercurial hosted on Unfuddle for a while. Reviews ran through email threads, commit comments, someone walking over to your desk. It worked. But the review was always a side channel. The diff wasn’t a first-class thing. You’d commit, someone would look at it, feedback would come through whatever medium was handy, you’d iterate, it would go in. Review happened around the code, not through a tool built for it.
Phabricator isn’t one tool. It’s a constellation. Differential is the review app – you submit a diff, it lives as an auditable unit, reviewers discuss it inline, the author revises, the history of the revision is preserved. Diffusion is the repository browser – like GitHub’s source view but richer, with blame and inline tracking that actually works. Arcanist is the command-line tool that ties it together: arc diff to submit, arc land to merge, arc patch to pull a review down locally. The CLI is the point. Most of my day with Phab is in arc, not the web UI.
What changed for me: code review stopped being a side channel and became the work. Before Phab, review ran through email threads, desk visits, commit comments – all useful, all ad hoc. After Phab, review had an address. You submitted a diff, it became a revision, the revision had a thread, and the thread evolved with each update. Nothing got lost. Nothing had to be remembered in your head.
The diff-per-revision model is the key. SVN had no review tooling – commits went to trunk, review happened around them. GitHub’s PRs, which I’d seen on open source projects, attach reviews to branches – push to the branch, the PR tracks whatever’s on it, history gets muddy when you rebase. Phab’s Differential is different: a revision is a logical unit that you evolve. Each update creates a new diff, and the thread tracks your intent, not your commits. By the time it lands, the commit message is what you meant to say, not the noise of “fix review comments.”
I’ve spent the last few months getting my team onto Phab. It’s not an easy sell – the setup is involved, the UX is dense, the learning curve is real. But once people get through the first week, they don’t go back. The conversations in review threads get deeper. The noise in commit history goes down. Junior engineers learn faster because they see how senior engineers think, not just what they ship.
I’ve also been on the Phabricator users list, reporting bugs and asking questions. The maintainers – Evan and the small core team – actually respond. It’s an open-source project with a small, opinionated group, and they’re building it the way you’d want a tool built: slowly, with taste, without chasing feature parity against bigger tools.
If you’re still reviewing code by eyeballing a GitHub diff in a browser tab, you’re missing something. Find a weekend. Install Phab. Try arc on a real branch. The first time you arc diff a change and watch the revision thread form, you’ll see what I see.