gittttup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

59 lines
1.5 KiB

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)
})
})
}
}