/
Connecting to Phabricator [5.2.2-B1]

Connecting to Phabricator [5.2.2-B1]

Historically we've been attaching patches to JIRA issues, because there was no other way. The review process was a pain, because I needed to:

  1. download each patch from JIRA using Web UI: Right Click > Save As ... > Specify Folder > Click Save

  2. apply patch in PhpStorm: Right Click on Patch File > Select Apply > Select Changeset

Recently (since September 2014) we've started to employ code review capabilities of Phabricator instance (installed at http://qa.in-portal.org/), that we have there for quite some time, but never had a chance to use it.

Now the process is quite different for both contributor (anybody) and reviewer (me):

  1. open the revision http://qa.in-portal.org/D13 (I automatically receive a e-mail with a link when new code needs reviewing) > see at the glance all code changes without a need to download/apply anything > copy "arc patch D13" command (shown on same page)

  2. run command I've copied in SVN working copy (patch is automatically downloaded and applied)

The Phabricator's Differential module comes especially handy when there is a need to put inline comments on a specific lines in a patch or reject it by requesting more changes to be made. With old regular patch files this was just impossible, because comments I've made on JIRA issues have no physical connection with patch file being attached to same issue. Also it was near to impossible to verify that changes made in new patch version really address problems I've reported in previous patch versions.

The "arc patch" command I've mentioned earlier in fact is command line interface for controlling Phabricator instance, but it requires one thing to work: the .arcconfig file placed in root of a project with following content for example:

{ "phabricator.uri" : "http://qa.in-portal.org/"

Let's create this file and make contribution process easier for everybody.

Related Tasks

https://in-portal.atlassian.net/browse/INP-1390

INP-1879: Adjust Phabricator URL to use SSLResolved