|
@@ -25,20 +25,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,
|