const exec = require('child_process').exec; module.exports = { exec(command) { return new Promise((resolve, reject) => { exec(command, function (error, stdout, stderr) { if (error) { reject(error); } else resolve(stdout); }) }) }, _isClean() { return new Promise((resolve, reject) => { exec('git status', function (error, stdout, stderr) { if (error) { console.log(error); reject(error); return; } let str = stdout.replace(/( |\\n)/g, ''); // console.log(str); let isClean = str.indexOf('clean') != -1; resolve(isClean); }) }) }, _getBranch() { return new Promise((resolve, reject) => { exec('git branch', function (error, stdout, stderr) { if (error) { reject(error); return; } let branches = stdout.split('\n').slice(0, stdout.split('\n').length - 1); branches = branches.filter(v => { if (v.indexOf('*') != -1) { return true; } else { return false; } }) let currentBranch = branches[0].slice(2); resolve(currentBranch); }); }) }, _getAllRemote() { return new Promise((resolve, reject) => { exec('git remote', function (error, stdout, stderr) { if (error) { reject(error); return; } let origin = stdout.split('\n').slice(0, stdout.split('\n').length - 1); resolve(origin) }) }) } }