svn版本库与hooks脚本

参考CaiKanXP的博客,网址:http://blog.youkuaiyun.com/CaiKanXP/article/details/6203118


每个版本库,都有其对应的hooks脚本

1 TortoiseSVN中,建立js脚本,如test.js,内容为:实现功能为,在svn进行commit时,自动读取同目录下readme.txt中内容作为日志。


// 启动提交钩子(Start Commit Hook)脚本。
// 将当前目录中的“readme.txt”文件内容填入“提交对话框”的日志信息中。

var args = WScript.Arguments; // 钩子脚本被调用时,由TSVN传入的参数
var list = args(0); // 提交列表临时文件路径
var message = args(1); // 日志消息临时文件路径
var cwd = args(2); // 脚本执行的当前工作目录路径

// 使用FSO在当前工作目录中查找是否存在“readme.txt”文件
var fso = new ActiveXObject('Scripting.FileSystemObject');
var readme = cwd + '//readme.txt';
if (fso.FileExists(readme)) {
    // 使用当前系统默认的编码方式(ANSI)读取文本文件
    var ts = fso.OpenTextFile(readme, 1, false);
    var text = ts.ReadAll();
    ts.Close();

    // 使用ADO Stream对象重新输出utf-8编码的文件,覆盖日志消息文件
    // TSVN将从消息文件中以utf-8编码读出消息,并填入提交对话框
    var stream = new ActiveXObject('Adodb.Stream');
    stream.Mode = 3; // read/write
    stream.Open();
    stream.Type = 2; // text
    stream.Charset = 'utf-8';
    stream.WriteText(text);
    stream.SaveToFile(message, 2); // overwrite
    stream.Close();
}

运行效果:



2  SVN本地提交

首先,必须checkout下版本,之后找到checkout下需要修改的版本的文件,如text.txt,之后,则

在终端输入svn commit -m "备注信息"

则可以提交。


3 svn检出

svn co http://127.0.0.1/svn/adminRepo  --username zhou --password  pwd

4 svn提交不输入验证信息,按照下面的信息即可

svn commit -m '导出' --username zhou   --password  密码   --non-interactive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值