1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 17:52:43 +01:00
phorge-phorge/src/applications/diffusion
epriestley d98eb2c8b8 Provide a fast path for resolving repository refs
Summary:
Ref T2783. With service-oriented calls, we take a larger performacne hit than necessary resolving refs.

Instead of resolving refs over the wire, try to resolve them from the database first. This can resolve almost all refs (commit hashes, branch and tag names).

This can't resolve weird refs like `master~50`, and obviously can't resolve invalid refs. In those cases we'll go back to the old logic, call `diffusion.resolverefs`, and end up with the right result.

Test Plan:
  - Browsed repositories in Diffusion.
  - Verified that service repositories no longer make unnecessary `diffusion.resolverefs` calls for common refs (branch names, commit hashes).
  - Resolved refs like `master~50`, saw call to underlying VCS and correct result.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T2783

Differential Revision: https://secure.phabricator.com/D11476
2015-01-23 13:31:17 -08:00
..
application make repo callsigns optional 2015-01-01 08:07:26 -08:00
capability Simplify the implementation of PhabricatorPolicyCapability subclasses 2014-07-25 08:25:42 +10:00
conduit Proxy Diffusion Conduit API calls 2015-01-23 13:30:52 -08:00
config Change double quotes to single quotes. 2014-06-09 11:36:50 -07:00
controller Move PhabricatorCrumbs to PHUICrumbs 2015-01-23 11:35:09 -08:00
data Update PhabricatorRepositoryManagementLookupUsersWorkflow to use ConduitCall 2015-01-02 15:13:57 -08:00
doorkeeper Partially modernize Doorkeeper/Asana bridge 2014-10-01 07:09:34 -07:00
edge Use PhabricatorAuditEditor to write revert edges 2015-01-06 07:30:38 +11:00
engine Use new FutureIterator instead of Futures 2014-12-30 23:13:38 +11:00
events Migrate Differential revision edges to use modern EdgeType subclasses 2015-01-01 15:07:03 +11:00
exception Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
herald Allow pre-commit adapter to use custom actions 2014-08-28 10:59:30 +10:00
panel Rename DiffusionSetPasswordPanel for consistency 2015-01-04 08:34:30 +11:00
protocol Applied various linter fixes. 2014-06-09 16:04:12 -07:00
query Provide a fast path for resolving repository refs 2015-01-23 13:31:17 -08:00
remarkup make repo callsigns optional 2015-01-01 08:07:26 -08:00
request Provide a fast path for resolving repository refs 2015-01-23 13:31:17 -08:00
response Allow Phabricator to serve Mercurial repositories over HTTP 2013-11-06 18:00:42 -08:00
ssh Fix visibility of PhutilArgumentWorkflow::didConstruct methods 2015-01-16 07:42:07 +11:00
typeahead Rename PhabricatorApplication subclasses 2014-07-23 10:03:09 +10:00
view Fix diffusion.readmequery to work in a cluster enviroment 2014-12-31 11:54:52 -08:00
DiffusionLintSaveRunner.php Use new FutureIterator instead of Futures 2014-12-30 23:13:38 +11:00