Summary: Ref T10895. This allows `arc browse <commit name>` to resolve to a revision, if an associated open revision exists.
Test Plan: Ran `arc browse` with various arguments.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10895
Differential Revision: https://secure.phabricator.com/D16933
Summary:
Ref T10895. Currently, the "browse as a commit" code does these lookups, but the code can't be reused.
For T10895, I want to introduce "browse as revision", but it will need to do the same ref lookup. Separate this as a hardpoint so the code can be shared via hardpoint/ref infrastructure.
Test Plan: Ran `arc browse master` and similar commands.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10895
Differential Revision: https://secure.phabricator.com/D16929
Summary:
Ref T10895. This modularizes Arcanist settings, but doesn't do anything with them yet.
When users type `arc browse X`, and only provide one "X", and there are several ways to interpret it, prompt them to choose one.
Test Plan: Created a file named `T234`, ran `arc browse T234`, was prompted to interpret it as an object or a path.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10895
Differential Revision: https://secure.phabricator.com/D16928
Summary:
Ref T10895. This mostly modularizes `arc browse` and puts it on ref/hardpoint infrastructure. Feels okay-ish? Major gripes:
- Messaging for "some stuff won't work because you're in a random directory, not a working copy" could be better, but I think I want something like the "Guidance" infrastructure for this.
- The `requiresStuff()` / `desiresStuff()` interactions on Workflow continue to feel bad, but I think I can sneak by without fixing those for now.
- I want to improve some of the other UI/UX stuff but this diff is already gigantic.
Test Plan: Ran `arc browse .`, `arc browse master`, `arc browse README.md`, inside and outside working directories.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10895
Differential Revision: https://secure.phabricator.com/D16925