目前我们还是用svn进行版本的控制,有时候我们要对一个人的代码进行一些监控,而svn用户名则是最好的用户标记。
那么我们要如何拿到一些svn的信息呢?
假设大家是用mac
作为开发机器。
下面,我提供一些代码。
/** * [通过svn得到用户信息] * @param {[type]} host [svn仓库的主机地址,例如192.168.1.1:80] * @param {Function} cb [拿到之后的回调] */ var getUserInfo = function(host,cb){ var cmd = 'cd ~/.subversion/auth/svn.simple/ && ls | xargs cat $1' child_process.exec(cmd,function(err,data){ var fragment = data.split(host)[1]; fragment.replace(/username\n.+\n(\w+)\n/,function(){ cb && cb(arguments[1]); }) }); }
代码略简单,不过在node作为开发环境,svn作为版本控制中,这种方式屡试不爽。
如果是用windows作为开发机,那么用子进程的方式
是实现不了了。不过大家可以通过一些fs
的操作来替换。
后面如果有时间,我会把一些svn
的工具开源,以解决一些代码构建的问题。
不过题外话,目前用svn的公司越来越少了,除了一些年代略久远、且很重要的代码还在svn以外,其他的都转向了git。
我们还是向git进军吧。