Untangle the Gordian Knot of iterating on Differential/Diffusion/Arcanist
Open, NormalPublic


A large iteration on Differential/Diffusion/Arcanist is looming but difficult to get traction on, so I'm going to write a lot of words about it until I get tired, then take a nap and hope the answers come to me in a dream.

  • The planned Arcanist changes are summarized in T11429.
  • The Diffusion changes are primarily T5000, plus untangling the mess of forking / "push to save changes".
  • The Differential changes support the other changes, plus infrastructure changes (like T11114).

All of this stuff is interlinked and planning a pathway through it is difficult.

Here are pending, pure-infrastructure changes in Differential. These are mostly actionable, but will cause some upgrade churn for installs and some of it touches APIs that Arcanist uses:

These are Differential product changes which fall out of that stuff:

Here are pending, pure-infrastructure changes in Diffusion.

And product changes:

Arcanist stuff mostly layers on top of these things? Maybe?

I've been attacking this mostly from the arc side but Differential may be a better flank to strike.

Related Objects

Mentioned In
T12694: Allow user to submit unsubmitted comments via `arc diff`
T12535: Diffusion view to show the commits within a range.
T12525: amckinley's Onboarding
Z1336: General Chat
T10978: Modernize Audit
T12085: Upgrading: Changes to Differential Custom Fields in Commit Messages
T12069: `arc diff --reviewers` inserts reviewers twice.
T12051: "Autoclose: Disabled" could provide a stronger hint that it means "You, the user, have disabled Autoclose by adjusting a setting."
T4043: Provide a keyboard shortcut to focus the comment textarea in Differential
T11114: Move Differential to EditEngine
2016 Week 52 (Very Late December)
T12014: Failed to create diff by web
Mentioned Here
T10939: Support for OWNERS files
T9713: In Diffusion, show commit messages as parsed fields by default with an option to view them raw
T182: Commit into repository directly from differential
T929: Allow two arbitrary revisions to be compared in Diffusion
T1508: When running "arc diff" on a range of commits, preserve the individual commits while still creating a single diff from them
T2543: Add a formal "Draft" / "Not Yet Ready for Review" state to Differential
T3794: Rebuild Diffusion/Audit on top of CustomField infrastructure
T4045: Store diffs as binary, not UTF-8
T4369: Phabricator HTTP repository hosting has fairly severe scalability limits
T4631: Allow Differential to raise warnings on the server side via Conduit
T5000: Using Differential with plain Git, without requiring Arc
T6203: Adjust nullability of various questionable columns
T6522: "Commit's branches contains" condition is not re-evaluated for commits in multiple branches
T6722: Support "Create similar repository..." in Diffusion
T7472: Search repositories using a dedicated index for performance (and SVN support)
T7899: DifferentialDiff->description is "text255?" but should be "text"
T8475: Clean up remnants of old Differential hunk storage
T8476: Rename `phabricator_repository` database
T8623: Upgrading: Differential Hunk Migration
T8690: Modernize PhabricatorCommitSearchEngine
T10574: A pathway toward "All Reviewers Must Accept"
T10967: Move Differential reviewers back to a dedicated database storage table
T10968: File write failure during daemon operations caused daemons to populate a few too many diffs
T10978: Modernize Audit
T11050: Allow resigning from a review you are not directly responsible for
T11114: Move Differential to EditEngine
T11429: Upcoming: Changes to Arcanist
T11660: Diff creation fails when submitting too long file paths
T11953: Herald rule for commits on autoclose branch didn't trigger when a commit was first pushed to a branch, then to master (fast-forward)
chad awarded a token.Dec 13 2016, 5:13 PM
ariel added a subscriber: ariel.Dec 14 2016, 8:50 AM
epriestley updated the task description. (Show Details)Dec 14 2016, 3:16 PM
epriestley updated the task description. (Show Details)Dec 16 2016, 6:20 PM
ivo added a subscriber: ivo.Dec 21 2016, 10:49 PM
epriestley moved this task from Backlog to v3 on the Diffusion board.Jan 18 2017, 6:59 PM
epriestley edited projects, added Diffusion (v3); removed Diffusion.
epriestley moved this task from Backlog to Meta on the Diffusion (v3) board.Feb 2 2017, 3:49 PM
Treri added a subscriber: Treri.May 17 2017, 7:03 AM