|
|
@ -14,12 +14,25 @@ const haveGit = fs.existsSync('./.git'); |
|
|
|
* 2. 添加GIT源 |
|
|
|
* 3. 设置默认源以供一键上传 |
|
|
|
*/ |
|
|
|
// exec('git status', function (error, stdout, stderr) {
|
|
|
|
// let str = stdout.replace(/( |\\n)/g, '');
|
|
|
|
// console.log(str);
|
|
|
|
|
|
|
|
// })
|
|
|
|
// return
|
|
|
|
|
|
|
|
function 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; |
|
|
|
console.log(str.indexOf('clean') != -1); |
|
|
|
resolve(isClean); |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
function getBranch() { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
@ -55,6 +68,41 @@ function getBranch() { |
|
|
|
// 所有的源
|
|
|
|
let origin = stdout.split('\n').slice(0, stdout.split('\n').length - 1); |
|
|
|
console.log(origin); |
|
|
|
if (origin.length == 0) { |
|
|
|
inquirer.prompt([{ |
|
|
|
type: 'input', // 问题类型,包括input,number,confirm,list,rawlist,password
|
|
|
|
name: 'name', |
|
|
|
message: '源名字', // 问题
|
|
|
|
default: '', // 默认值
|
|
|
|
validate: (input) => { |
|
|
|
if (input.length == 0) { |
|
|
|
return '请输入源名字'; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
}, { |
|
|
|
type: 'input', // 问题类型,包括input,number,confirm,list,rawlist,password
|
|
|
|
name: 'url', |
|
|
|
message: '源url', // 问题
|
|
|
|
default: '', // 默认值
|
|
|
|
validate: (input) => { |
|
|
|
if (input.length == 0) { |
|
|
|
return '请输入源url'; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
}]).then(async answers => { |
|
|
|
exec('git remote add ' + answers.name + ' ' + answers.url, function (error, stdout, stderr) { |
|
|
|
if (error) { |
|
|
|
console.log(error); |
|
|
|
reject(error); |
|
|
|
return; |
|
|
|
} |
|
|
|
console.log('添加成功'); |
|
|
|
}) |
|
|
|
}) |
|
|
|
return; |
|
|
|
} |
|
|
|
inquirer.prompt([{ |
|
|
|
type: 'confirm', // 问题类型,包括input,number,confirm,list,rawlist,password
|
|
|
|
name: 'all', |
|
|
@ -66,7 +114,12 @@ function getBranch() { |
|
|
|
let branch = await getBranch(); //当前分支
|
|
|
|
for (let i = 0; i < origin.length; i++) { |
|
|
|
const o = origin[i]; |
|
|
|
await git_util.all('sa', o, branch); |
|
|
|
let isclean = await isClean(); |
|
|
|
if (!isclean) { |
|
|
|
await git_util.all('sa', o, branch); |
|
|
|
} else { |
|
|
|
await git_util.push(o, branch); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
inquirer.prompt([{ |
|
|
@ -75,8 +128,19 @@ function getBranch() { |
|
|
|
name: 'choices', |
|
|
|
message: '请选择一个源提交', // 问题
|
|
|
|
default: true // 默认值
|
|
|
|
}]).then(answers => { |
|
|
|
}]).then(async answers => { |
|
|
|
console.log(answers.choices); |
|
|
|
let ooo = answers.choices; |
|
|
|
let branch = await getBranch(); //当前分支
|
|
|
|
for (let i = 0; i < ooo.length; i++) { |
|
|
|
const o = ooo[i]; |
|
|
|
let isclean = await isClean(); |
|
|
|
if (!isclean) { |
|
|
|
await git_util.all('sa', o, branch); |
|
|
|
} else { |
|
|
|
await git_util.push(o, branch); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|