repo-updater: Exclude Phabricator when listing external services for sync
Created by: mrnugget
A customer reported that syncing external services failed after upgrading from 3.4 to 3.5 with the following error message:
no clone URL available for repo with id=XYZ
After investigating the issue we found out that with 3.5 we changed the Phabricator source to construct clone URLs for every repo it lists. That fails on the customer instance.
And that happens every time repo-updater syncs.
But since Phabricator is not a real external service and shouldn't be used to sync repos and clone them, it shouldn't be synced when the repo-updater Syncer runs.
This commit changes the existing behavior of ListExternalServices
to
never return Phabricator external services, except when it's
specifically specified (which is what we need for the
gitolite-Phabricator-sync worker).