Difference between revisions of "Phabricator"

From Sugar Labs
Jump to navigation Jump to search
Line 43: Line 43:
  
 
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.
 
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:
 +
 +
  <Replace this line with a title. 1 line only, 67 chars or less>
 +
 +
  Summary:
 +
 +
  Test Plan:
 +
 +
  Reviewers:
 +
 +
  CC:
  
 
=== Create revisions ===
 
=== Create revisions ===

Revision as of 12:31, 1 April 2013

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:

 <Replace this line with a title. 1 line only, 67 chars or less>
 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