1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-20 04:20:55 +01:00

Explicitly update the repository URI index after making a URI edit

Summary:
Fixes T11936. After editing a repository URI, we were not correctly updating the URI index.

Any other edit to the repository //would// update the index, and this index is only really used by `arc` to figure out which repository a working copy belongs to, so that's how this evaded detection for this long. In particular, creating a repository would usually have an edit after any URI edits, to activate it, which would build the index correctly.

Test Plan:
  - Added a new URI to a repository.
  - Verified it was immediately reflected in the `repository_uriindex` table.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11936

Differential Revision: https://secure.phabricator.com/D16972
This commit is contained in:
epriestley 2016-12-01 14:20:53 -08:00
parent dc73785c4f
commit 99c6b53ab2

View file

@ -462,6 +462,11 @@ final class DiffusionURIEditor
->withRepositories(array($repository))
->execute();
// Reattach the current URIs to the repository: we're going to rebuild
// the index explicitly below, and want to include any changes made to
// this URI in the index update.
$repository->attachURIs($uris);
$observe_uri = null;
foreach ($uris as $uri) {
if ($uri->getIoType() != PhabricatorRepositoryURI::IO_OBSERVE) {
@ -488,6 +493,9 @@ final class DiffusionURIEditor
$repository->save();
// Explicitly update the URI index.
$repository->updateURIIndex();
$is_hosted = $repository->isHosted();
// If we've swapped the repository from hosted to observed or vice versa,