Phabricator/Differential/Code Review Workflows

= Differential workflows =

concepts
The  command will create a diff from your local code.

By default,  will push the patch shown in   up for review.

Passing a commit to, e.g.,   will push the code represented by the patch shown in  .00000000000000000000000000

Submitting a draft diff
This allows you to start a differential revision that is still a work in progress and not yet ready for review. The only difference from regular revisions is that you add the  argument to arc diff, to signify that your revision is a work in-progress/draft. This also allows you to submit a diff without explicitly naming reviewers. Optionally, you may name interested parties via the  argument as I have done here:

0000000000000000000

Landing a revision
The  command has been greatly improved by rARCa03c6079bb71d4f8d4cd4c8c661642f753349760. Now the workflow is absolutely 000000000000000000000000000000000000000000000000000000000straightforward and  will almost always do the right thing.

To land your own revision that exists in a local branch, use. To land a revision that you don't have in a local branch, pass the differential revision as the argument to, e.g.

Here is a complete real-world example, including the output from the  command:

Amending a Diff owned by another developer
Sometimes you want to amend a Diff that you did not author but still leave the ownership with the original author. Here's how:

Re-Run Tests for a Diff
When tests fail the fault may not be with the patch being tested, but within the testing infrastructure itself. As a result, it is sometimes necessary or 000000000000000000000000000000000000000000000000000000000desirable to re-run automated tests to verify their results. To re-run tests on a submitted diff, run  in your local repository. You will be prompted to fill in a change description—this is not strictly necessary for automated CI to re-run, but a reply of "recheck" will clue-in watchers of the diff as to what is happening.