Selective fetching of refs from remote repositories for mirroring
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=292942) </details> <!--IssueSummary end--> Currently, our pull-mirrors fetch everything from the remote repository, then we iterate through all of the tags and branches to see if we need to update a local ref. But in some cases, we don't need to fetch everything: 1. When only mirroring protected branches 1. When updating branches for running pipelines for external repositories We could add a `refspec` argument to the `FetchRemote` RPC to allow fetching and processing only what we need?
issue