Phabricator/Arcanist

Arcanist is a commandline tool for Phabricator.

Here are some installation notes.

Arcanist needs PHP bcmath and curl extensions to be installed.

First, tell PHP CURL module to accept Wikimedia Labs Certification Authority.

Take this certificate:

-BEGIN CERTIFICATE- MIIDJTCCAo6gAwIBAgIJAJeM1RLuhUwDMA0GCSqGSIb3DQEBBQUAMGsxCzAJBgNV BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp c2NvMR0wGwYDVQQKExRXaWtpbWVkaWEgRm91bmRhdGlvbjEQMA4GA1UEAxMHTGFi cyBDQTAeFw0xMTExMTUwMDQwMzBaFw0yMTExMTIwMDQwMzBaMGsxCzAJBgNVBAYT AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2Nv MR0wGwYDVQQKExRXaWtpbWVkaWEgRm91bmRhdGlvbjEQMA4GA1UEAxMHTGFicyBD QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2Im3vHD07ouobJkdkT/frHZm 4+WNznGt8jyBEdg8yznT37liYv58E+BPyo+DI38vJ5km2Ju7ys0TKT4xm4cb1BKe CExsGW6QrmM+jW7MED/fUpKZ79axNqnMQfvjwyJEvMsrzUnK2L/uhkN4vY9h40Ye Pu0m6GR/B+xyxNawSZkCAwEAAaOB0DCBzTAdBgNVHQ4EFgQU9xjOuTGdEcr5or5g qeXq/fjqSJ8wgZ0GA1UdIwSBlTCBkoAU9xjOuTGdEcr5or5gqeXq/fjqSJ+hb6Rt MGsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T YW4gRnJhbmNpc2NvMR0wGwYDVQQKExRXaWtpbWVkaWEgRm91bmRhdGlvbjEQMA4G A1UEAxMHTGFicyBDQYIJAJeM1RLuhUwDMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcN AQEFBQADgYEAH+mhiNqZihXVFeTsk4NMLwqKrNonda3f8isrOj+yjeUKwvzEh1mn 0H6UbG85iR4QbmmeXoAZcSjlj3mn6ro/6h6f1pxTbZpKXqYJk+WSpyeZv7cS1Xb+ 94gswhDU+tyNC3qyc4aXEe+gAK5E3hyXIL5uYEjYQOLlYDmFBtRprQU= -END CERTIFICATE-

Install this certificate somewhere in your filesystem, for example

Edit your  file to include line:

You might also might check if your curl comes with a pre-configured list of certificate authorities it accepts and just add Wikimedia Labs certificate to that list.

Then you can install the Arcanist using Git.

Pick up some installation directory (for example ).

You should get two subdirectories in the  directory:   and

Now you should add  directory to your PATH - typically by editing   or   in your home directory.

After this the following command:

Which should respond with something like:

Set key 'default' = "https://phabricator.wmflabs.org/" in global config (was null)

Then you should install your personal Phabricator key.

Arc will prompt you to login to Phabricator via the web browser and pick up the key from the specified location:

Installing certificate for 'https://phabricator.wmflabs.org/api/'... Trying to connect to server... Connection OK!

LOGIN TO PHABRICATOR Open this page in your browser and login to Phabricator if necessary:

https://phabricator.wmflabs.org/conduit/token/

Then paste the token on that page below.

Paste token from that page:

When clicking a link the following webpage is presented:

Certificate Install Token Copy and paste this token into the prompt given to you by "arc install-certificate":

xasdase34531asdhccasdsddadxtluyx5r5nqmu6xj5gjwxagzrej

arc will then complete the install process for you.

After the token is pasted into the arc window it should say:

Downloading authentication certificate... Installing certificate for 'yourusername'... Writing ~/.arcrc... SUCCESS! Certificate installed.

Now you can clone experimental respository using Git:

You can now go to the repository and try fetching some code:

The system will ask you:

This diff is for the 'E3Experiments' project but the working copy belongs to the '' project. Still try to apply it? [Y/n] y

Answer 'Y' and Arcanist should download the change:

Created and checked out branch arcpatch-D3. Downloading binary data... Downloading binary data... Downloading binary data... Downloading binary data... OKAY Successfully committed patch.

And you can see the patch in your local repository: master     e40fce0 [origin/master] Rename events.js -> communityClicks.js
 * arcpatch-D3 be7cfd9 Merge branch 'master' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/E3Experiments into munaf/pef2

Now it's time to explore  and the User's Guide