mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-29 10:12:41 +01:00
0b3cd39230
Summary: Ref T11968. - Allow "WorkingCopy" objects to maintain an API object and update callers ("get...()" instead of "new...()"). - Always generate a WorkingCopy object and a RepositoryAPI object. Currently, code has to look like this: ``` $working_copy = ... if ($working_copy) { $repository_api = ... if ($repository_api [instanceof ... ]) { ``` This is clunky. There's also no reason some "arc" commands can't run outside a VCS working directory without special-casing how they interact with the filesystem. Conceptually, model the filesystem as a trivial VCS (which stores exactly one commit, always amends onto it, and discards history). Provide a trivial WorkingCopy and API for it. (This change isn't terribly interesting on its own, but chips away at landing the new Hardpoint infrastructure.) Test Plan: Ran `arc version`, `arc upgrade`. Maniphest Tasks: T11968 Differential Revision: https://secure.phabricator.com/D21070 |
||
---|---|---|
.. | ||
__tests__ | ||
ArcanistFilesystemAPI.php | ||
ArcanistGitAPI.php | ||
ArcanistGitUpstreamPath.php | ||
ArcanistMercurialAPI.php | ||
ArcanistRepositoryAPI.php | ||
ArcanistSubversionAPI.php |