| @@ -633,7 +633,7 @@ var op = { | |||
| // Reset the whole installation pertaining to this elxr folder. | |||
| } | |||
| , 'add': (remotename, url, branch) => { | |||
| , 'remote add': (args) => { | |||
| // PB : TODO -- set-upstream-to should be chosen and intentionally switched. Coz we can have multiple upstream remotes. | |||
| // Also each upstream remote may need to have is own branch to switch to. We therefore need a branch nomenclature | |||
| // That explicitly has a remote name prefix. | |||
| @@ -646,10 +646,20 @@ var op = { | |||
| // probably git merge from all remotes... and relevant branches... | |||
| // alias pushall='for i in `git remote`; do git push $i; done;' | |||
| // alias pullall='for i in `git remote`; do git pull $i; done;' | |||
| // args === processedArgs ? args = {} : null; | |||
| var __args = { | |||
| remotename : args.remotename|| processedArgs._[2] | |||
| , url : args.url || processedArgs._[3] | |||
| , branch : args.branch || processedArgs._[4] | |||
| } | |||
| var remotename = __args.remotename | |||
| var url = __args.url | |||
| var branch = __args.branch | |||
| var pushable = processedArgs.pushable || false; | |||
| remotename = remotename || processedArgs._[1] | |||
| url = url || processedArgs._[2] | |||
| branch = branch || processedArgs._[3] | |||
| var serial_perform_git_add = (repo) => { | |||
| var options = { cwd: instanceroot + '/' + repo } | |||
| // console.log(repo) | |||
| @@ -685,18 +695,18 @@ var op = { | |||
| nodeShellExec('git', ['remote', 'get-url', remotename], { cwd: dir.name, stdio: 'ignore' }).then(() => { | |||
| console.log('skipped : ' + dir.name + ', reason : A remote with same name already exists.') | |||
| }) | |||
| .catch((e) => { | |||
| any(serial_perform_git_add(dir.name).map(x)) | |||
| }) | |||
| .catch((e) => { | |||
| any(serial_perform_git_add(dir.name).map(x)) | |||
| }) | |||
| } | |||
| // else console.log('Skipped : Not a Git Repo : ' + dir.name) | |||
| }).catch((e) => { | |||
| // console.log('Failed : ' + dir.name) | |||
| console.log('Failed : ' + dir.name) | |||
| }) | |||
| } | |||
| const { readdir } = require("fs").promises | |||
| dirs(perform_git_add) | |||
| } | |||
| , 'remote remove': (args) => { | |||
| @@ -2326,9 +2336,12 @@ acquireElevationState().then(() => { | |||
| // PB : TODO -- processedArgs should already be part of selected. | |||
| var instanceName = processedArgs._[1] = processedArgs._[1] || chessinstances.current_run.instanceName || selected.instanceName; | |||
| var node_env = processedArgs.node_env = processedArgs.node_env || chessinstances.current_run.node_env || selected.node_env; | |||
| chessinstances[instanceName] = chessinstances[instanceName] || {} | |||
| chessinstances[instanceName][node_env] = chessinstances[instanceName][node_env] || selected; | |||
| chessinstances['current_run'] = chessinstances[instanceName][selected.node_env] ? | |||
| { instanceName: instanceName, node_env: node_env } : chessinstances['current_run'] | |||
| // chessinstances[chessinstances.current_run.instanceName] = chessinstances[chessinstances.current_run.instanceName] || {} | |||
| { instanceName: instanceName, node_env: node_env } : (chessinstances['current_run'] || { instanceName: instanceName, node_env: node_env }) | |||
| // chessinstances[chessinstances.current_run.instanceName] = chessinstances[chessinstances.current_run.instanceName] || {} | |||
| if(path.normalize(selected.root) !== path.normalize(chessinstances[instanceName][node_env].root)) { | |||
| throw "Mismatched chessinstances config found " + chessinstances[instanceName][node_env].root + ' does not match ' + selected.root | |||