javascript
使用JScript设置SVN客户端hook
作者:朱金燦
來源: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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统状态(磁盘大小、内存、进程
- 下一篇: zend server 配置问题 Zen