24 lines
533 B
JavaScript
24 lines
533 B
JavaScript
|
'use strict'
|
||
|
const fs = require('fs')
|
||
|
const path = require('path')
|
||
|
const util = require('util')
|
||
|
|
||
|
function parseBranch(buf) {
|
||
|
const match = /ref: refs\/heads\/([^\n]+)/.exec(buf.toString())
|
||
|
return match ? match[1] : null
|
||
|
}
|
||
|
|
||
|
function gitHeadPath(cwd) {
|
||
|
const filepath = path.join(process.cwd(), '.git/HEAD')
|
||
|
if (!fs.existsSync(filepath)) {
|
||
|
throw new Error('.git/HEAD does not exist')
|
||
|
}
|
||
|
return filepath
|
||
|
}
|
||
|
|
||
|
const gitBranch = function() {
|
||
|
return parseBranch(fs.readFileSync(gitHeadPath()))
|
||
|
}
|
||
|
|
||
|
module.exports = gitBranch
|