歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 如何在Subversion中運行hook腳本

如何在Subversion中運行hook腳本

日期:2017/2/27 14:12:44   编辑:更多Linux

Subversion是一個強大的版本控制系統,特別是它能夠輕松地處理庫管理進程中在各個點上的數據。在進行提交後、或者進行提交前,或鎖定、或解鎖文件中,或者在其它情況下,你都能擁有腳本句柄數據。所有的這些都是通過hook實現的,hook是subversion庫結構中的一部分。 Hook由一個庫事件來觸發的。例如,如果你有一個subversion庫存放在/subversion/repos/packages下,那麼你的hook將被存放在/subversion/repos/packages/hooks目錄下。

在這個hook目錄下存放著大量的臨時文件。這些文件只是作為例子來存在。所以如果你想寫一個腳本能在每次提交後,把subversion數據用e-mail發送給你的話,你應該拷貝post-commit.tmpl到post-commit中,把它變為可執行的,並按照你的需要去編輯它。

這些腳本能從subversion網站上獲得,同時也有些其它用戶提供的腳本和工具。你能在http://subversion.tigris.org/tools_contrib.Html上浏覽到許多這樣的腳本。目前最感興趣的是郵件提交的(post-commit e-mail)腳本commit-email.pl。把這個文件下載下來,並把它放在/usr/local/bin/下面,然後使它變成可執行的。同時在hooks/post-commit腳本中,在該文件末尾增加上以下內容:

REPOS=""

REV=""

/usr/local/bin/commit-email.pl "$REPOS" "$REV" --from [email protected] -s

"SVN commit in packages" [email protected]

這個將執行的commit-e-mail.pl腳本會帶有一些參數,也就是庫名和你做的修訂。它將按照指定的主題路線從[email protected]網站上發送e-mail到[email protected]上,[email protected]網站上有些指定的用戶或者郵件列表。

如果你想在站點上查看其它的腳本,你可以在版本控制軟件庫的管理器中看到許多有趣的腳本。在整個數據被提交到subversion之前,這些腳本能夠做某些檢查,比如,各種預提交檢查腳本。

更多內容請看腳本攻擊和防范專題,或




Copyright © Linux教程網 All Rights Reserved