Page MenuHomePhabricator

Build a flexible revision lookup API in Arcanist
Open, NormalPublic

Tokens
"Mountain of Wealth" token, awarded by jonathanrseawright."Doubloon" token, awarded by bjshively."Dat Boi" token, awarded by yelirekim.
Assigned To
None
Authored By
epriestley, Jul 21 2016

Description

Several proposed changes depend on being able to go from an arbitrary blob of information (commit hash, commit message, branch name, directory name, tree hash, phase of the moon) to a revision.

These changes include:

  • (T11343) Make arc diff automatically detect "depends on".
  • (T3875) Make arc land automatically strip redundant changes.
  • (T3875 ) Implement arc cascade.
  • (T10895) Make arc browse do revision lookup for commits/branches.
  • (T6072) Likely, improvements to arc patch, arc which, generally to arc diff.

Echoes of this code already exist in two places:

  • arc branch identifies commits on branches using a limited subset of the full query we should be executing.
  • arc diff (via loadWorkingCopyDifferentialRevisions()) uses this in several cases, but can only query the current working copy state.

These should be unified and turned into a core API.

Event Timeline

bjshively added a subscriber: bjshively.
eadler added a project: Restricted Project.Jul 25 2016, 4:23 PM

I'm not sure if D16857 is even close to the right level of generality or correct approach and the answer has yet to come to me in a dream, so I'm going to push forward on top of it and see how far I get. If too much stuff stacks up I'll maybe shove this stuff into an experimental branch for now until I decide whether I'm throwing it all away or not.

epriestley moved this task from Backlog to The Queue on the Prioritized board.Nov 22 2016, 10:38 PM

I'm sure if I keep digging we'll be out of this hole in no time.

girtsf added a subscriber: girtsf.Jun 28 2017, 8:42 PM