Page MenuHomePhabricator

Upgrading: Differential Draft State
Open, NormalPublic

Description

Beginning with 2017 Week 42, Differential has a new "draft" state for revisions. At the time, this was only active if prototypes are enabled. As of 2020 Week 7, it is now the normal behavior.

When revisions are created, they are initially "Draft" revisions until builds pass. Once builds pass, they are submitted for review. (If you don't use Harbormaster to perform builds, all builds automatically pass immediately, so this state is transient.)

You can share the URI to a draft revision normally, but it won't appear on reviewers' dashboards yet and they won't be notified via email or notifications that it exists. Once builds pass, it will automatically promote to "Needs Review", notify reviewers, and appear on their dashboards. This raises the signal-to-noise ratio for reviewers by keeping revisions with build failures out of their queues, puts more pressure on authors to be responsible about tests, and puts more pressure on everyone to write reliable, fast tests.

You can manually "Request Review" to submit a draft for review before builds complete (or if builds fail).

Some arc diff flags have also changed:

  • arc diff --draft has been added. This flag keeps a revision in the "Draft" state, even after builds pass.
  • arc diff --preview has been removed. This was largely redundant with --draft.
  • arc diff --plan-changes has been removed. This was largely redundant with --draft.
  • arc diff --no-diff has been removed. This was a legacy flag.
  • arc diff --cache has been removed. This was a legacy flag.

See T2543 for additional discussion of the "Draft" state.

Event Timeline