mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 00:02:41 +01:00
ec9eaabfbd
Summary: Fixes T5839. If a repository has been force pushed and garbage collected, we might have a ref cursor in the database which still points at the old commit (which no longer exists). We'll then run a command like `git log <new hash> --not <old hash>` to figure out which commits are newly pushed, and this will bomb out because `<old hash>` is invalid. Instead, validate all the `<old hash>` values before we try to make use of them. Test Plan: - Forced a repository into a bad state by mucking with the datbase, generating a reproducible failure similar to the one in T5839. - Applied patch. - `bin/repository update <callsign> --trace` filtered the bad commit and put the repository into the right state. - Saw new commits recognized correctly. - Ran `bin/repository update <callsign>` for a Mercurial and SVN repo as a sanity check. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T5839 Differential Revision: https://secure.phabricator.com/D10226 |
||
---|---|---|
.. | ||
PhabricatorRepositoryManagementCacheWorkflow.php | ||
PhabricatorRepositoryManagementDiscoverWorkflow.php | ||
PhabricatorRepositoryManagementEditWorkflow.php | ||
PhabricatorRepositoryManagementImportingWorkflow.php | ||
PhabricatorRepositoryManagementListWorkflow.php | ||
PhabricatorRepositoryManagementLookupUsersWorkflow.php | ||
PhabricatorRepositoryManagementMarkImportedWorkflow.php | ||
PhabricatorRepositoryManagementMirrorWorkflow.php | ||
PhabricatorRepositoryManagementParentsWorkflow.php | ||
PhabricatorRepositoryManagementPullWorkflow.php | ||
PhabricatorRepositoryManagementRefsWorkflow.php | ||
PhabricatorRepositoryManagementUpdateWorkflow.php | ||
PhabricatorRepositoryManagementWorkflow.php |