HomePhabricator

Allow `arc` to identify repositories without "project_id"

Description

Allow arc to identify repositories without "project_id"

Summary:
Ref T4343. Continues the process of reducing the prominence of Arcanist Projects. Primarily:

  • Query Phabricator to identify the working copy based on explicit configuration, or guess based on heuristics.
  • Enhance arc which to explain the process to the user.
  • The project_id key is no longer required in .arcconfig.

Minor/cleanup changes:

  • Rename project_id to project.name (consistency, clarity).
  • Rename conduit_uri to phabricator.uri (consistency, clairty).
  • These both need documentation updates.
  • Add repository.callsign to explicitly bind to a repository.
  • Updated .arcconfig for the new values.
  • Fix a unit test which broke a while ago when we fixed a rare definition of "unstaged".
  • Make getRepositoryUUID() generic so we can get rid of one instanceof.

Test Plan:

  • Ran arc which.
  • Ran arc diff.
  • This doesn't really change anything, so the only real risk is version compatibility breaks. This does introduce such a break, but the window is very narrow: if you upgrade arc after this commit, and try to diff against a Phabricator which was updated after yesterday (D8068) but before D8072 lands, the lookup will work so we'll add repositoryPHID to the differential.creatediff call, but it won't exist in Phabricator yet. This window is so narrow that I'm not going to try to fix it, as I'd guess there is a significant chance that no users will be affected. I don't see a clever way to fix it that doesn't involve a lot of work, either.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4343

Differential Revision: https://secure.phabricator.com/D8073

Details

Provenance
epriestleyAuthored on
epriestleyPushed on Jan 26 2014, 11:31 PM
Reviewer
btrahan
Differential Revision
D8073: Allow `arc` to identify repositories without "project_id"
Parents
rARCe4b1e8e68165: Use `user.query`, not `user.find`, in `arc tasks`
Branches
Unknown
Tags
Unknown
Tasks
T4343: Implement "arc audit"

Event Timeline