|  |  | @@ -612,15 +612,16 @@ var __runcmd = function(label){ | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // cant use git checkout -b it fails with branch already exists. | 
		
	
		
			
			|  |  |  | var performCheckout = (repo)=>{ | 
		
	
		
			
			|  |  |  | var performCheckout = (repo, branch)=>{ | 
		
	
		
			
			|  |  |  | if(!branch) return Promise.resolve({ 'skipped' : true }) | 
		
	
		
			
			|  |  |  | if(excludeCheckouts[repo]) return Promise.resolve({ 'skipped' : true }) | 
		
	
		
			
			|  |  |  | return nodeShellExec('git', ['checkout', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { | 
		
	
		
			
			|  |  |  | return nodeShellExec('git', ['checkout', branch || checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { | 
		
	
		
			
			|  |  |  | // return nodeShellExec('git', ['switch', '-m', '-C', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { | 
		
	
		
			
			|  |  |  | // inherit : true, shell: true, | 
		
	
		
			
			|  |  |  | cwd : repo | 
		
	
		
			
			|  |  |  | // , stdio : ignore // Use when we want to silcence output completely. | 
		
	
		
			
			|  |  |  | , runas : processedArgs.runas | 
		
	
		
			
			|  |  |  | , title : `git checkout ${checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} for ${repo}` | 
		
	
		
			
			|  |  |  | , title : `git checkout ${branch ||checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} for ${repo}` | 
		
	
		
			
			|  |  |  | }).catch((e)=>{ console.error(e); return { error : true, message : repo} }) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if(runconfig.NODE_ENV === 'development')  performCheckout = ()=>{ return Promise.resolve(true) } | 
		
	
	
		
			
			|  |  | @@ -689,11 +690,21 @@ var __runcmd = function(label){ | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return any(tasks) | 
		
	
		
			
			|  |  |  | .then( | 
		
	
		
			
			|  |  |  | //target is the env is we specify in elxr use command. Default is dev | 
		
	
		
			
			|  |  |  | .then( //Switch to target branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performCheckout(repo, process.env.NODE_ENV || 'development'))) | 
		
	
		
			
			|  |  |  | , any(elevatedRunasRepos.map((repo)=>performCheckout(repo, process.env.NODE_ENV || 'development')))]) ) | 
		
	
		
			
			|  |  |  | .then( //PULL from target branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performPullAll(repo))), any(elevatedRunasRepos.map((repo)=>performPullAll(repo)))]) ) | 
		
	
		
			
			|  |  |  | .then( | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performCheckout(repo))), any(elevatedRunasRepos.map((repo)=>performCheckout(repo)))]) ) | 
		
	
		
			
			|  |  |  | .then( | 
		
	
		
			
			|  |  |  | .then( //Switch to merge source branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performCheckout(repo, mergeSources[process.env.NODE_ENV || 'development'] ))) | 
		
	
		
			
			|  |  |  | , any(elevatedRunasRepos.map((repo)=>performCheckout(repo, mergeSources[process.env.NODE_ENV || 'development'])))]) ) | 
		
	
		
			
			|  |  |  | .then( //Pull on merge source branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performPullAll(repo))), any(elevatedRunasRepos.map((repo)=>performPullAll(repo)))]) ) | 
		
	
		
			
			|  |  |  | .then( //Switch to target branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performCheckout(repo, process.env.NODE_ENV || 'development'))) | 
		
	
		
			
			|  |  |  | , any(elevatedRunasRepos.map((repo)=>performCheckout(repo, process.env.NODE_ENV || 'development')))]) ) | 
		
	
		
			
			|  |  |  | .then( //Merge source branch to target branch | 
		
	
		
			
			|  |  |  | () => any([ any(gitRepos.map((repo)=>performMerge(repo))).catch(err=>{ console.error('error in performMerge ' + err)}) , | 
		
	
		
			
			|  |  |  | any(elevatedRunasRepos.map((repo)=>performMerge(repo))).catch(err=>{ console.error('error in performMerge ' + err)})]) ) | 
		
	
		
			
			|  |  |  | .then( () => { |