版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baizaozao/article/details/87805556
思路
- 通过调用命令行工具,利用
svn info
得到所有的svn信息,然后提取版本号
异步获取 : node-cmd
- 包信息会作为回调函数的参数被返回(cbDataSvn)
var async = require('async');
var cmd = require('node-cmd');
cmd.get('svn info', function (err, cbDataSvn, stderr) {
if (err) {
throw new Error('获取svn版本号失败', err);
}
var svnVersion = cbDataSvn.split('\n')[6].match(/\d+/ig)[0]
console.log(svnVersion)
callback(null, svnVersion);
}
)
同步获取
- 这个真的费了我老大劲儿了,各种找第三方的npm包,什么
child-process, cross-spawn, node-cmd, spawn-sync
,都是异步的方法实现的,要不然就直接返回一个cmd进程包??(总之不是我们要的dos中输出的结果信息数据) - 偶然在阮大神的博客碰到
shelljs
,一试可以同步!天助我也!
附上链接
var shell = require("shelljs");
function getSvnVersion() {
var name = shell.exec("svn info").split('\n')[6].match(/\d+/ig)[0];
return name
}