static IList <RemoteRepository> CreateUpstreamRepositoires(RemoteRepositoryCache remoteRepositoryCache, IRepository repo) { return(repo.Network.Remotes .Select(r => remoteRepositoryCache.FindRemoteRepository(r.Name)) .Where(r => r != null) .ToList()); }
static IList <RemoteRepository> CreateUpstreamRepositoires(RemoteRepositoryCache remoteRepositoryCache, IRepository repo) { // Only consider one repository per URL and prioritize ones with a remote named "origin" return(repo.Network.Remotes .Select(r => remoteRepositoryCache.FindRemoteRepository(r.Name)) .Where(r => r != null) .GroupBy(r => r.Url) .Select(g => g .OrderBy(r => r.RemoteName == "origin" ? 0 : 1) .First()) .ToList()); }