|
|
@@ -1693,19 +1693,47 @@ var elxr = { |
|
|
|
} |
|
|
|
, getpulltask(def){ |
|
|
|
|
|
|
|
// def can be an instance config |
|
|
|
// Or an object with many repos and elevated repos |
|
|
|
// Or a single repo ( Either Elevated or normal. ) |
|
|
|
|
|
|
|
|
|
|
|
def = (def ? ( |
|
|
|
def.requiresElevation = true, |
|
|
|
def.reqularRepos = def.repos, |
|
|
|
def.elevatedRepos = def.elevatedRunasRepos |
|
|
|
// def.requiresElevation = true, |
|
|
|
// def.repos = def.repos, |
|
|
|
// def.elevatedRepos = def.elevatedRunasRepos, |
|
|
|
def |
|
|
|
|
|
|
|
) : false) || { |
|
|
|
requiresElevation : true, |
|
|
|
reqularRepos : gitRepos, |
|
|
|
elevatedRepos : elevatedRunasRepos |
|
|
|
repos : repomanifest.repos, |
|
|
|
elevatedRepos : repomanifest.elevated |
|
|
|
} |
|
|
|
|
|
|
|
var elevatedpulltasks = null; |
|
|
|
if(def.repo) { |
|
|
|
// Single repo case. |
|
|
|
if(def.repo.requiresElevation) { |
|
|
|
elevatedpulltasks = function() { |
|
|
|
return performPull(def.repo).then(() => { |
|
|
|
return true; |
|
|
|
}).catch((e) => { |
|
|
|
console.error(e) |
|
|
|
}) |
|
|
|
} |
|
|
|
return |
|
|
|
} |
|
|
|
else { |
|
|
|
var regularpulltasks = function(){ |
|
|
|
var pendingpulls = []; |
|
|
|
pendingpulls.push(performPull(def.repo)) |
|
|
|
return Promise.all(pendingpulls).finally(Traq.finally) |
|
|
|
} |
|
|
|
} |
|
|
|
if(elevatedpulltasks) return getTaskWithElevation( { elevatedpulltasks, regularpulltasks} ) |
|
|
|
else return getTaskWithoutElevation({ regularpulltasks}) |
|
|
|
} |
|
|
|
|
|
|
|
console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`) |
|
|
|
// console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`) |
|
|
|
console.dir(def) |
|
|
|
|
|
|
|
var env = Object.assign({}, process.env); // Shallow clone it. |
|
|
@@ -1713,16 +1741,16 @@ var elxr = { |
|
|
|
|
|
|
|
var useGitPull = processedArgs.useGitPull || false; |
|
|
|
|
|
|
|
if(def.elevatedRepos || def.reqularRepos) { |
|
|
|
if(def.elevatedRepos || def.repos) { |
|
|
|
if(def.elevatedRepos) def.requiresElevation = true; |
|
|
|
else delete def.requiresElevation; |
|
|
|
} |
|
|
|
else { |
|
|
|
if(def.requiresElevation) def.elevatedRepos = [def] |
|
|
|
else def.reqularRepos = [def] |
|
|
|
else def.repos = [def] |
|
|
|
} |
|
|
|
|
|
|
|
var elevatedpulltasks = null; |
|
|
|
|
|
|
|
var regularpulltasks = function(){ return Promise.resolve(true) } |
|
|
|
if(def.elevatedRepos){ |
|
|
|
elevatedpulltasks = function() { |
|
|
@@ -1733,10 +1761,10 @@ var elxr = { |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
if(def.reqularRepos) { |
|
|
|
if(def.repos) { |
|
|
|
var regularpulltasks = function(){ |
|
|
|
var pendingpulls = []; |
|
|
|
def.reqularRepos.forEach((def) => { pendingpulls.push(performPull(def.repo)) }) |
|
|
|
def.repos.forEach((def) => { pendingpulls.push(performPull(def.repo)) }) |
|
|
|
return Promise.all(pendingpulls).finally(Traq.finally) |
|
|
|
} |
|
|
|
} |