|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var repolog = require('./repolog') |
|
|
// 'use strict'; |
|
|
// 'use strict'; |
|
|
|
|
|
|
|
|
// PB : TODO -- make sure folder context is proper coz we can now run elxr from anywhere. |
|
|
// PB : TODO -- make sure folder context is proper coz we can now run elxr from anywhere. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var performPull = (repo) => { |
|
|
var performPull = (repo) => { |
|
|
if(existsSync(repo)) { |
|
|
if(existsSync(repo)) { |
|
|
console.log('pulling ' + repo) |
|
|
|
|
|
return nodeShellExec.apply(null, getPullCmd(repo)).catch((e)=>{ console.error(e) }) |
|
|
|
|
|
|
|
|
return nodeShellExec.apply(null, getPullCmd(repo)).then((srepo)=>{ |
|
|
|
|
|
repolog.statuslog(null, srepo)}).catch((e)=>{ console.error(e) }) |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
console.log('cloning ' + repo) |
|
|
|
|
|
// PB : TODO -- detect if a clonable repo exists in currentGitAuthUser |
|
|
// PB : TODO -- detect if a clonable repo exists in currentGitAuthUser |
|
|
return nodeShellExec('git', ['clone', '-c', 'core.symlinks=true', defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'], |
|
|
return nodeShellExec('git', ['clone', '-c', 'core.symlinks=true', defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'], |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if(!processedArgs.runas) gitRepos.forEach(performPull) |
|
|
|
|
|
|
|
|
if(!processedArgs.runas) { |
|
|
|
|
|
var pendingpulls = []; |
|
|
|
|
|
gitRepos.forEach( (r)=>{ |
|
|
|
|
|
pendingpulls.push(performPull(r)) |
|
|
|
|
|
} ) |
|
|
|
|
|
Promise.all(pendingpulls).then(results =>{ |
|
|
|
|
|
console.log(repolog.log.SUCCESS) |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
return isRunningElevated().then( |
|
|
return isRunningElevated().then( |
|
|
(isElevated) => { |
|
|
(isElevated) => { |
|
|
if(isElevated) { |
|
|
if(isElevated) { |
|
|
|
|
|
|
|
|
p.process = child; |
|
|
p.process = child; |
|
|
return p; |
|
|
return p; |
|
|
} |
|
|
} |
|
|
|
|
|
|