1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-22 10:18:48 +02:00
phorge-phorge/src/applications/repository/management
epriestley 95eab2f3b0 Record parent relationships when discovering commits
Summary:
Ref T4455. This adds a `repository_parents` table which stores `<childCommitID, parentCommitID>` relationships.

For new commits, it is populated when commits are discovered.

For older commits, there's a `bin/repository parents` script to rebuild the data.

Right now, there's no UI suggestion that you should run the script. I haven't come up with a super clean way to do this, and this table will only improve performance for now, so it's not important that we get everyone to run the script right away. I'm just leaving it for the moment, and we can figure out how to tell admins to run it later.

The ultimate goal is to solve T2683, but solving T4455 gets us some stuff anyway (for example, we can serve `diffusion.commitparentsquery` faster out of this cache).

Test Plan:
  - Used `bin/repository discover` to discover new commits in Git, SVN and Mercurial repositories.
  - Used `bin/repository parents` to rebuild Git and Mercurial repositories (SVN repos just exit with a message).
  - Verified that the table appears to be sensible.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: jhurwitz, epriestley

Maniphest Tasks: T4455

Differential Revision: https://secure.phabricator.com/D9044
2014-05-12 11:47:22 -07:00
..
PhabricatorRepositoryManagementDeleteWorkflow.php Add bin/repository edit for CLI repository editing 2013-11-13 11:26:05 -08:00
PhabricatorRepositoryManagementDiscoverWorkflow.php Move more discovery responsibilities into DiscoveryEngine 2014-01-17 16:09:24 -08:00
PhabricatorRepositoryManagementEditWorkflow.php Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
PhabricatorRepositoryManagementImportingWorkflow.php Fix bin/repository importing for CLOSEABLE flag 2014-01-21 14:09:51 -08:00
PhabricatorRepositoryManagementListWorkflow.php Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
PhabricatorRepositoryManagementLookupUsersWorkflow.php Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
PhabricatorRepositoryManagementMarkImportedWorkflow.php Add an administrative bin/repository mark-imported command 2013-11-06 11:26:24 -08:00
PhabricatorRepositoryManagementMirrorWorkflow.php Separate repository mirroring into an Engine and provide bin/repository mirror 2014-01-25 14:01:58 -08:00
PhabricatorRepositoryManagementParentsWorkflow.php Record parent relationships when discovering commits 2014-05-12 11:47:22 -07:00
PhabricatorRepositoryManagementPullWorkflow.php Remove PhabricatorRepository::loadAllByPHIDOrCallsign() 2013-09-26 12:36:24 -07:00
PhabricatorRepositoryManagementRefsWorkflow.php Introduce ref cursors for repository parsing 2014-01-17 11:48:53 -08:00
PhabricatorRepositoryManagementUpdateWorkflow.php Separate repository updates from the pull daemon 2014-04-16 13:00:29 -07:00
PhabricatorRepositoryManagementWorkflow.php Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00