参考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