目錄
鈎子腳本的具體寫法就是操作系統中shell腳本程序的寫法,請根據自己SVN所在的操作系統和shell程序進行相應的寫作
所謂鈎子就是與一些版本庫事件觸發的程序,例如新修訂版本的創建,或是未版本化屬性的修改。每個鈎子都會被告知足夠多的信息,包括那是什么事件,所操作的對象,和觸發事件的用戶名。通過鈎子的輸出或返回狀態,鈎子程序能讓工作繼續、停止或是以某種方式掛起。
svn在每個代碼倉庫下有一個hooks目錄用於放hook腳本, svn為我們提供了模板
[root@idcflow2175 hooks]# pwd
/home/svn/csvn/data/repositories/tr2/hooks
[root@idcflow2175 hooks]# ll
-rw-r--r-- 1 svn svn 1977 Jul 1 2013 post-commit.tmpl
-rw-r--r-- 1 svn svn 1638 Jul 1 2013 post-lock.tmpl
-rw-r--r-- 1 svn svn 2289 Jul 1 2013 post-revprop-change.tmpl
-rw-r--r-- 1 svn svn 1567 Jul 1 2013 post-unlock.tmpl
-rw-r--r-- 1 svn svn 3447 Jul 1 2013 pre-commit.tmpl
-rw-r--r-- 1 svn svn 2455 Jul 1 2013 pre-lock.tmpl
-rw-r--r-- 1 svn svn 2786 Jul 1 2013 pre-revprop-change.tmpl
-rw-r--r-- 1 svn svn 2143 Jul 1 2013 pre-unlock.tmpl
-rw-r--r-- 1 svn svn 2780 Jul 1 2013 start-commit.tmpl
這些鈎子會在不同的點觸發事務:
- start-commit 提交前觸發事務
- pre-commit 提交完成前觸發事務
- post-commit 提交完成時觸發事務
- pre-revprop-change 版本屬性修改前觸發事務
- post-revprop-change 版本屬性修改后觸發事務