Phabricator

We've got a test instance of Phabricator running here (at the moment I did in my VM because I was testing out the setup - didn't want to do it in sunjammer just yet - will move to a proper SL domain later today/tomorrow):

http://phabricator.itevenworks.net

Phabricator's Web UI
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.

When you create a commit you need to include certain fields (reviewer, test plan, etc) so that arc can create a revision out of this. To avoid having to do this manually you can use git commit message templates:

git config --global commit.template ~/.gitmessage.txt

And ~/.gitmessage.txt has to be:

 Summary: Test Plan: Reviewers: CC:

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