Phabricator

We've set up an instance of Phabricator that we're going to experiment with for code reviews. At this time, we're not planning on using any of the other features of Phabricator, and the use of Phabricator for reviews is very much an experiment - we intend to see how this is going in a little while (probably around the start of the 4.4 cycle). If you're more comfortable submitting and reviewing patches as plain email, that's fine - use of Phabricator is optional.

1. Registering for an account

To use Phabricator, you can log in with an existing Google, Facebook, or Bitbucket account, or sign up for a standalone Phabricator account at https://phab.mercurial-scm.org/auth/register/.

2. Setting up hg

We've got a custom extension that should make working with Phabricator a little more pleasant. It requires the prerelease of hg 4.3 or later. You can enable it for just your hg repo by editing .hg/hgrc and adding the following:

[extensions]
phabricator = path/to/phabricator.py

[phabricator]
url=https://phab.mercurial-scm.org/
callsign=HG
token=cli-SOMENOISEHERE

You can get your API token for Phabricator here.

3. Submitting a patch

Our expectation right now is that you'll run tests (as appropriate) and then use hg phabsend to post patches to Phabricator.

4. Accepting a patch

You'll want to use hg phabread, potentially with the --stack flag, for this. Make sure to check that the authorship information is correctly preserved: we've seen some weirdness when people use arc diff instead of hg phabsend.

5. Phabricator is terrible, I hate it! || Phabricator is awesome, stop using emails!

So is the alternative, just in different ways! But do keep feedback in mind (maybe take notes). We'll probably send around a form to fill in once enough traffic has been run through Phabricator to see how people feel about it.


CategoryDeveloper