Phabricator

From Sugar Labs
Jump to navigation Jump to search

We've got a test instance of Phabricator running here:

http://phabricator.itevenworks.net

Right now you can login by creating a regular account or via an FB account (support for other external systems coming soon).

You can browse code here:

http://phabricator.itevenworks.net/diffusion/

And check your pending reviews here:

http://phabricator.itevenworks.net/differential/

And manage tasks here:

http://phabricator.itevenworks.net/maniphest/

Using Phabricator from the command-line

A code review in Phabricator is called a Revision. You can create and close revisions directly from the command line via arc.

Installing arc

The only prerequisite for running arc is the php-cli package (on Fedora and php5-cli on Ubuntu).

 mkdir ~/arc
 cd ~/arc
 git clone git://github.com/facebook/libphutil.git
 git clone git://github.com/facebook/arcanist.git

and then extend your PATH (via ~/.bashrc or similar) to have it include:

 ~/arc/arcanist/bin

Configuring arc for your project

To use 'arc (with, say, Turtle Art) you need to create an .arcconfig inside your Turtle Art's repo clone:

 {
  "project_id" : "turtleart",
  "conduit_uri" : "http://phabricator.itevenworks.net/"
 }

As projects pick up Phabricator & arc I am expecting them to have a .arcconfig committed to their repos, so you'll be able to skip this step. The first time you run an arc command against the Phabricator instance it'll ask you to paste in an auth token to validate your account.

Create revisions

To create a new revision (a code review request) hack on something and create a commit and then:

 arc diff

If you are requested changes on that revision as part of the code review you can hack on those changes and then:

 git commit -a --amend

and then request a new review:

 arc diff

Note that this last command won't create a new revision - it'll update the existing one.

Once your reviewers are finally happy with that revision and it has been approved you can close it with:

 arc amend && git push