UNPKG

fsk-branches

Version:

切换分支工具

116 lines (100 loc) 3.13 kB
#!/usr/bin/env node var os = require("os"), arg = process.argv.splice(2), param = arg[0] ? arg[0].toString().toLowerCase() : null; if(/^win/gi.test(os.platform())){ //windows var main = require('./branchesWin'); //查看默认的分支,并按数字列出来 if(!param){ main.branchesList(); } //执行如dir等设置 else if(['setup', 'help', 'dir', 'nginx', 'copy'].some( function(v){ return v == arg[0] }) ){ main[param](); } //按数字序号切换分支 else if( /^\d+$/g.test(param) ){ main.branchesChange( parseInt(param,10) ); } //切换到主干 else if( param=='trunk' || param=='h5trunk' ){ main.trunkChange(param); } //查看其它端的分支并按数字列出来 else if( /^-{0,2}[a-zA-Z-]+$/g.test(param) ){ param = param.replace(/-{0,2}/, ""); main.branchesList(param); }else{ main.error("命令不正确!"); main.help(); } }else{ //mac var main = require('./branchesMac'); //查看默认的分支,并按数字列出来 if(!param){ main.branchesList(); } //执行如dir等设置 else if(['setup', 'help', 'edit', 'dir', 'nginx', 'copy'].some( function(v){ return v == arg[0] }) ){ main[param](); } //svn else if(param == "svn"){ //$ svn cp mianshikaui m="ffff" --h --h5 arg.shift(); if(arg[0] && /^\d+$/g.test(arg[0])){ main.svnCheckout(arg.join(',')); }else if(arg[0] && arg[0]=="cp"){ arg.shift(); var options={}; arg.forEach(function(v){ if(/^-{0,2}m=/g.test(v)){ options.log = v.replace(/^-{0,2}m=/g,""); }else if(/^-{1,2}(pc|h5)$/g.test(v)){ options.system = v.replace(/^-{1,2}/,"") }else if(/^-{1,2}[a-z-A-Z]+$/g.test(v)){ options.port = v.replace(/^-{1,2}/,""); }else if(/^[^\-]+$/g.test(v)){ options.name = v.replace(/^-{1,2}/,""); } }); options.port = options.port || "h"; options.system = options.system || "pc"; main.svnCopyBranches(options); }else if(!arg[0] || /^[a-zA-Z]+$/g.test(arg[1])){ main.svnList(arg.join(',')); } } //设置密码 else if(param == "setpwd" || param == "setpassword" ){ main.setPassword(arg[1]); } //选择分支后可以执行一些命令 如 fsk-branches 1 fsk-sync -d -h q1 --pub 直接把这个分支上部署到服务器上 else if( /^\d+$|^(h5)?trunk$/ig.test(param) && arg.length>1 ){ var num = arg.shift(); switch(arg[0]){ case "event" : main.eventCommand(num, arg); break; default : main.command(num, arg.join(' ')); } } //按数字序号切换分支 else if( /^\d+$/g.test(param) ){ main.branchesChange( parseInt(param,10) ); } //切换到主干 else if( param=='trunk' || param=='h5trunk' ){ main.trunkChange(param); } //查看其它端的分支并按数字列出来 else if( /^-{0,2}[a-zA-Z-]+$/g.test(param) ){ param = param.replace(/-{0,2}/, ""); main.branchesList(param); }else{ main.error("命令不正确!"); main.help(); } }