From bde70e2ad9a33201a0fa6d0b1b6aca3e21aaf116 Mon Sep 17 00:00:00 2001 From: Chris Wendt Date: Wed, 20 Mar 2019 11:26:31 -0700 Subject: [PATCH] Continue searching for cross-repository references even when there are errors --- src/lang-go.ts | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/lang-go.ts b/src/lang-go.ts index 6bbfa2c..45811f0 100644 --- a/src/lang-go.ts +++ b/src/lang-go.ts @@ -326,23 +326,34 @@ async function repositoriesThatImportViaGDDO( ) .slice(0, limit) .map(async repo => { - const gqlResponse = await queryGraphQL( - ` + try { + const gqlResponse = await queryGraphQL( + ` query($cloneURL: String!) { repository(cloneURL: $cloneURL) { name } } `, - { cloneURL: repo } - ) - if (!gqlResponse || !gqlResponse.repository || !gqlResponse.repository.name) { - // We only know how to construct zip URLs for fetching repos - // on Sourcegraph instances. Since this candidate repo is absent from - // the Sourcegraph instance, discard it. + { cloneURL: repo } + ) + if (!gqlResponse || !gqlResponse.repository || !gqlResponse.repository.name) { + // We only know how to construct zip URLs for fetching repos + // on Sourcegraph instances. Since this candidate repo is absent from + // the Sourcegraph instance, discard it. + return undefined + } + return gqlResponse.repository.name as string + } catch (err) { + if (err.message && err.message.includes('ExternalRepo:')) { + console.warn( + `Unable to find cross-repository references in ${repo}, probably because the repository was renamed and Sourcegraph does not support renamed repositories yet.` + ) + } else { + console.warn(err) + } return undefined } - return gqlResponse.repository.name as string }) )).filter((repo): repo is string => !!repo) return new Set(