Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

 

 

Warning
titleOut of date

This page is out of date, use Review Board instead.

 

 

 

This page explains how to use Phabricator for code review of contributions to Apache Hive.  Phabricator usage is currently under test; the official code review tool is still Review Board, but we're thinking about changing that, so please help test out Phabricator and let us know what you think on the Hive mailing lists.

Table of Contents

Setup

  1. Visit https://reviews.facebook.net and connect your existing github or Facebook account there.
  2. The Phabricator command-line tool arc requires a PHP interpreter available on your development machine.  If you can run the command php --version, you already have it.  If not, google for "php command line" to see how to install it for your system.
  3. Next, install arc. If you follow the Arcanist Quick Start guide, only the first section ("Install Arcanist") is applicable.
  4. Run ant arc-setup to install an extra module needed for JIRA integration.  (This ant target was added with the commit of HIVE-2486.)
  5. In your Hive checkout (either git or svn), run arc install-certificate and follow the instructions given.

...

If you just want to see what your diff looks like, without actually creating it, use --preview to the arc diff command line (but don't proceed with creating the diff when you visit it in the UI since it will be missing the JIRA information).

Updating Patches (git)

At this point, reviewers can add comments and request changes.  To address them:

...

From an svn checkout (e.g. from svn checkout http://svn.apache.org/repos/asf/hive/trunkImage Removed hive-trunk), a typical usage sequence is as follows:

...

If you just want to see what your diff looks like, without actually creating it, omit --jira on the arc diff command line.  (The svn workflow does not support the --preview option.)

Updating Patches (svn)

At this point, reviewers can add comments and request changes.  To address them:

...

  1. there's currently no way for contributors to grant the ASF rights on their patch except to go to JIRA and re-add the last version of the patch there, clicking the correct radio button; we haven't thought of an acceptable solution to this, so please let us know if you have any bright ideas're working on a solution for this
  2. it would be nice if submitting a diff and requesting changes automatically updated the JIRA "Patch Available" status

How Arcanist works (git)

Arcanist stores information about your current workflow in the commit message.

...

If you amend your message it's important that you don't remove this information.
Important things that you should not touch:

1. "HIVE-123 jira" prefix on the first line - removing this will break JIRA
integration, this is the only thing that ties Differential revision to a JIRA
issue.

2. "Test plan:" - by default Arc-JIRA provides "EMPTY" as the test plan. You
can change it if you want to, but Arcanist will refuse to work if you remove it
completely.

3. "Differential revision: 123" - this is id of the revision you are currently
working on, if you remove it Arcanist will create a new revision when you run
"arc diff" instead of updating the old one.

4. "Reviewers: JIRA" - if you remove JIRA from reviewers, comments and patches
won't be propagated to JIRA.

FAQs

1. If you run into an error like the following on arc:

Code Block
libphutil v1 libraries are no longer supported

git checkout this particular tag in your libphutil repository:

Code Block
git checkout 870bcc76434410344d27a3fa4604ac96200bf7f6

2. If you run into an error like this with Arcanist:

Code Block
Call to undefined method ArcanistGitAPI parseRelativeLocalCommit()
  OR
Failed to load symbol ...

Checkout this tag for arcanist:

Code Block
git checkout 6f6fde84cc530c2b51f095d9636b9e15301519a1

...