Raw File
'use strict';

var execSync = require('child_process').execSync;

function git(cmd) {
  return function(dir) {
    var options = { cwd: dir, stdio: [] };
    return execSync('git ' + cmd, options).toString().trim();
  };
}

function catchAll(fn) {
  return function(arg) {
    try {
      return fn(arg);
    } catch (e) {
      return '';
    }
  };
}

module.exports = {
  short: catchAll(git('rev-parse --short HEAD')),
  branch: catchAll(git('rev-parse --abbrev-ref HEAD'))
};
back to top