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.