Page MenuHomePhabricator

Diffusion does not render Phabricator-hosted readonly mirror URIs
Closed, DuplicatePublic

Description

In Diffusion, if a repository is hosted elsewhere but still served read-only via Phabricator, the readonly clone URI is not rendered.

Our use-case for doing this is to have an in-house mirror of remote repositories, so that we can still access the code even if the remote is offline (primarily: composer install from a local mirror so we can deploy when Github is down).

The actual serving works just fine, but we need to construct the URI ourselves rather than having it nicely available in the UI.

There are quite a few isHosted() checks in PhabricatorRepository's various getFooURI() methods that make this change a bit tricky without having a clear interface that defines the meaning of each method (though with some insight, I'm happy to dive in deeper)