diff --git a/lib/db/build-index.js b/lib/db/build-index.js index fc5072a..eb286a8 100644 --- a/lib/db/build-index.js +++ b/lib/db/build-index.js @@ -67,6 +67,9 @@ async function * loadProject (octokit, graphQL, project, config, _repo) { } } + // Check config for repoBranch + project.repoBranch = project.repoBranch ?? repo.branch + let pkg try { pkg = await files.getPackageJson(project) @@ -146,7 +149,7 @@ async function * loadProject (octokit, graphQL, project, config, _repo) { } try { - for await (const commit of github.getRepoCommits(graphQL, project.repoOwner, project.repoName)) { + for await (const commit of github.getRepoCommits(graphQL, project.repoOwner, project.repoName, project.repoBranch)) { yield projectDetail('COMMIT', project, commit) } } catch (e) { diff --git a/lib/github.js b/lib/github.js index 73f0ba0..9555af3 100644 --- a/lib/github.js +++ b/lib/github.js @@ -35,6 +35,9 @@ const repoQuerySnip = `{ name } homepageUrl + defaultBranchRef { + name + } }` const issueQuerySnip = `pageInfo { @@ -136,6 +139,7 @@ class Repo { this.license = repo.licenseInfo && (repo.licenseInfo.spdx_id || repo.licenseInfo.name) this.language = repo.primaryLanguage ? repo.primaryLanguage.name : repo.primaryLanguage this.homepage = repo.homepageUrl + this.branch = repo.defaultBranchRef.name } } @@ -465,12 +469,12 @@ class Commit { } } -async function getRemainingCommits (graphQL, owner, repo, cursor) { +async function getRemainingCommits (graphQL, owner, repo, cursor, branch) { try { const resp = await graphQL({ - query: `query ($org: String!, $repo: String!, $cursor: String!) { + query: `query ($org: String!, $repo: String!, $cursor: String!, $branch: String!) { repository(name: $repo, owner: $org) { - object(expression: "master") { + object(expression: $branch) { ... on Commit { history(first: 100, after: $cursor) { nodes { @@ -502,10 +506,11 @@ async function getRemainingCommits (graphQL, owner, repo, cursor) { `, org: owner, repo, - cursor + cursor, + branch }) const { pageInfo, nodes } = resp.repository.object.history - const commits = !pageInfo.hasNextPage ? nodes : nodes.concat(await getRemainingCommits(graphQL, owner, repo, pageInfo.endCursor)) + const commits = !pageInfo.hasNextPage ? nodes : nodes.concat(await getRemainingCommits(graphQL, owner, repo, pageInfo.endCursor, branch)) return commits } catch (error) { @@ -515,12 +520,12 @@ async function getRemainingCommits (graphQL, owner, repo, cursor) { } module.exports.getRepoCommits = -async function * getRepoCommits (graphQL, owner, repo) { +async function * getRepoCommits (graphQL, owner, repo, branch) { try { const resp = await graphQL({ - query: `query ($org: String!, $repo: String!) { + query: `query ($org: String!, $repo: String!, $branch: String!) { repository(name: $repo, owner: $org) { - object(expression: "master") { + object(expression: $branch) { ... on Commit { history(first: 100) { nodes { @@ -551,10 +556,11 @@ async function * getRepoCommits (graphQL, owner, repo) { } `, org: owner, - repo + repo, + branch }) const { pageInfo, nodes } = resp.repository.object.history - const commits = !pageInfo.hasNextPage ? nodes : nodes.concat(await getRemainingCommits(graphQL, owner, repo, pageInfo.endCursor)) + const commits = !pageInfo.hasNextPage ? nodes : nodes.concat(await getRemainingCommits(graphQL, owner, repo, pageInfo.endCursor, branch)) for (const c of commits) { yield new Commit(owner, repo, c) diff --git a/lib/project.js b/lib/project.js index b1f3352..7b0bacf 100644 --- a/lib/project.js +++ b/lib/project.js @@ -23,7 +23,7 @@ module.exports.Project = class Project { this.repo = repo this.repoOwner = repoOwner this.repoName = repoName - this.repoBranch = proj.repoBranch || 'HEAD' + this.repoBranch = proj.repoBranch this.repoDirectory = proj.repoDirectory || '/' this.packageName = null }