作者:朱金灿

来源:http://blog.csdn.net/clever101

关于什么叫SVN hook,请参考这篇文章:从传统的 关于SVNHooks(钩子)的使用,这里不作详述。

设置SVN客户端hook的标准做法如下:

1.      选择“Settings”菜单项,如下图:

2.      在Hook Script中填写Hook类型及相关的脚本路径及命名行:

现在我有这样一个需求:当更新RunTimeLib目录时把该目录下的dll文件都拷贝到输出目录下。我已经完成了第一步,写了一个Jscript来实现这个复制操作。

第二步当然可以用上面的介绍设置这个hook。但是我比较讨厌图形化的操作,我不想每个加入进来的开发人员都进行这个略带麻烦的设置。我希望使用bat文件或Jscript来一步完成hook设置。

经过观察,我发现所有的hook信息都保存在注册表HKEY_CURRENT_USER\Software\TortoiseSVN\hooks下,也就是说我只需用脚本把这个注册表项填上hook命名信息就行。然后我写了下面的设置hook的Jscript,代码如下:

var WSShell = WScript.CreateObject("WScript.Shell");
var strValue;
var num = WScript.ScriptFullName.lastIndexOf("\\");
// 获取当前路径
var strCurPath = WScript.ScriptFullName.substr(0, num);
var FileSys = WScript.CreateObject("Scripting.FileSystemObject");try {var strVC9Key = "HKEY_CURRENT_USER\\SOFTWARE\\TortoiseSVN\\hooks";strValue = WSShell.RegRead(strVC9Key);
}
catch (e)
{
}
var strAdd = "";
var strDir;
strDir = strCurPath+"\\RunTimeLib";
if (FileSys.FolderExists(strDir)) {strAdd =strAdd+ "post_update_hook\n"+strDir+"\nWScript "+strCurPath+"\\UpdateSysDll.js\nfalse\nshow\n";
// 写入注册表WSShell.RegWrite("HKEY_CURRENT_USER\\SOFTWARE\\TortoiseSVN\\", 1, "REG_BINARY");WSShell.RegWrite("HKEY_CURRENT_USER\\SOFTWARE\\TortoiseSVN\\hooks", strAdd, "REG_SZ");
}
else {WScript.Echo("设置hook失败!");
}

经过测试,是可以设置成功的。

转载于:https://www.cnblogs.com/lanzhi/archive/2013/06/07/6470567.html

使用JScript设置SVN客户端hook相关推荐

  1. centos7上的图形化界面svn客户端_基于windows平台的SVN教程。

    点击蓝色"Java面试那些事儿"关注我哟加个"星标",优质文章,第一时间送达 作者:东风化宇  来源:http://1t.click/akvN # SVN工作原 ...

  2. mac系统及xcode使用的SVN客户端安装升级

    当前的SVN版本已经升级到1.8.x了,但mac系统自带的以及xcode使用的SVN客户端版本没有跟着升级,还是1.6.x的版本.为了解决隐藏目录.svn只在根目录下存在的情况,至少要升级到1.7.x ...

  3. Ubuntu系统下搭建svn服务器(及设置SVN提交必须输入注释)

    1.查看是否安装 安装SVN服务器之前 查看一下是否已经安装了 查看命令 svn 如下图 是已经安装了SVN 如下图是没有安装SVN 安装了的话 可以用如下命令删除 apt-get remove -- ...

  4. SVN客户端安装和使用

    SVN客户端安装和使用 SVN客户端安装 SVN安装目录:\\shareserver\软件共享\开发软件\svn 请先双击"TortoiseSVN-1.4.3.8645-win32-svn- ...

  5. Mac下的SVN客户端

    转自:http://blog.csdn.net/wanghao725/article/details/51483783 Mac下的SVN客户端也有多个(看下图),但是都需要收费.下面来说一下我用过的几 ...

  6. IDEA 设置SVN提交忽略文件

    使用IDEA 的SVN插件提交文件是总是会提交一些不需要提交的文件; 我们可以通过一些简单设置忽略这些文件: 一.在idea开发工具里面设置: 1.打开idea设置 2.在File Types的Ign ...

  7. SVN客户端安装及使用说明

    SVN客户端安装及使用说明 一.SVN客户端与语言包的安装 1.下载TortoiseSVN 2.安装TortoiseSVN,双击安装包,进入下一步,如图: 3.点击Next,进入下一步,如图: 4.选 ...

  8. 可以媲美TortoiseSVN的LINUX版SVN客户端软件RabbitVCS(下载地址)

    转载:https://blog.csdn.net/yuyin86/article/details/9293095 如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是 ...

  9. (Linux)SVN客户端查看及重置账号密码

    前言 我们有时候会遇到由于交接等原因导致SVN服务端账密修改,导致原来的SVN客户端无法拉取代码的问题.下面介绍的是Linux系统中,SVN客户端查看及重置账号密码. svn常用命令: https:/ ...

最新文章

  1. 求表达式1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的值
  2. 几种和生成网络相似的纠缠网络(接近人脑)
  3. 直播 | NeurIPS 2021:基于投影变换建模传递关系的知识图谱表示学习
  4. 哈工大计算机学院庞,奋斗在知足与知不足之间――我与我的导师计算机学院马培军教授二三事...
  5. React之mockjs+sass+生命周期函数
  6. 了解 yarn 、npm、nodejs
  7. python自带的解释器叫做_python学习
  8. idea Maven图标的使用
  9. Phonegap在ios7上系统状态栏的问题解决
  10. java array 元素的位置_208道高频 Java面试题答案2
  11. 地理空间数据Geometry在MySQL中使用(二)
  12. 如何保证进程间同步工作_如何在工作自动化进程中占据优势?开关电源芯片U6605D有答案...
  13. sbt oracle,Oracle10gR2 ORA-19554的SBT_TAPE
  14. Office2010安装时提示:若要安装 Microsoft Office 2010,需要MSXML 版本 6.10.1129
  15. Odin学习1 属性框标签
  16. 2022年六一儿童节
  17. Wi-Fi Sigma测试系统
  18. Unity android平台读取文件
  19. 百度输入法输入汉字却显示英文
  20. matlab使用invfreqs出错,matlab中butter

热门文章

  1. ASP.NET MVC3 部署的前期工作
  2. spring 同时配置hibernate and jdbc 事务
  3. easyui扩展-日期范围选择.
  4. 老李推荐: 第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动AndroidDebugBridge 2...
  5. NHibernate中的API
  6. 景切换的时候加上遮罩
  7. Devops-运维效率之数据迁移自动化
  8. 多GPU真的能加速吗?
  9. 4.1邮箱的全选,全不选,反选
  10. Newtonsoft.Json(Json.Net)学习笔记