如何用Node拿到svn用户信息

本文介绍如何在Node环境中获取 SVN 用户信息,主要用于代码监控,适用于Mac开发环境。由于Windows环境下实现方式不同,作者提到可能需要替代方案,并鼓励向Git迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何用Node拿到svn用户信息

目前我们还是用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进军吧。

大家可以看看我的博客 http://hirra.cn/2015/01/03/node 目前里面的东西不多,不过后续会慢慢加上的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值