From 07cd1e6b4d29e31c00e2f39e5a708737d293260a Mon Sep 17 00:00:00 2001 From: "trop[bot]" Date: Mon, 17 Jun 2019 07:54:13 -0700 Subject: [PATCH] build: get current release branch from commit (#18834) * chore: get current release branch from commit * love too lint --- script/lib/utils.js | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/script/lib/utils.js b/script/lib/utils.js index 51d7db4439afb..33a03c4459269 100644 --- a/script/lib/utils.js +++ b/script/lib/utils.js @@ -24,20 +24,27 @@ function getAbsoluteElectronExec () { return path.resolve(__dirname, '../../..', getElectronExec()) } -async function getCurrentBranch (gitDir) { - const gitArgs = ['rev-parse', '--abbrev-ref', 'HEAD'] - const branchDetails = await GitProcess.exec(gitArgs, gitDir) - if (branchDetails.exitCode === 0) { - const currentBranch = branchDetails.stdout.trim() - console.log(`${pass} current git branch is: ${currentBranch}`) - return currentBranch +async function handleGitCall (args, gitDir) { + const details = await GitProcess.exec(args, gitDir) + if (details.exitCode === 0) { + return details.stdout.trim() } else { - const error = GitProcess.parseError(branchDetails.stderr) - console.log(`${fail} couldn't get details current branch: `, error) + const error = GitProcess.parseError(details.stderr) + console.log(`${fail} couldn't parse git process call: `, error) process.exit(1) } } +async function getCurrentBranch (gitDir) { + let branch = await handleGitCall(['rev-parse', '--abbrev-ref', 'HEAD'], gitDir) + if (!branch.match(/[0-9]+-[0-9]+-x/)) { + const lastCommit = await handleGitCall(['rev-parse', 'HEAD'], gitDir) + const branches = (await handleGitCall(['branch', '--contains', lastCommit], gitDir)).split('\n') + branch = branches.filter(b => b.match(/[0-9]+-[0-9]+-x/))[0].trim() + } + return branch +} + module.exports = { getCurrentBranch, getElectronExec,