SVN禁止空日誌

2021-05-28 00:32:07 字數 1091 閱讀 7810

墨菲定律說:「事情如果有變壞的可能,不管這種可能性有多小,它總會發生。」所以,如果提交svn時可能沒有填注釋,那麼既然有這種可能性它總會發生的,甚至每天都會發生,所以今天我決定,在提交svn時禁止不填注釋,否則拒絕提交。

svn其實在每次操作的時候都會執行乙個指令碼,定義了幾個事件,在版本庫的hooks目錄裡定義了一些指令碼的模板,可以使用這些模板修改乙個自己的指令碼來響應svn事件,這些指令碼可以做任何事情,可以使用shell指令碼也可以使用perl甚至python指令碼,以後可以通過這些事件來做一些統計分析,這次只說pre-commit事件。

1. 在hooks目錄裡,複製乙個檔案pre-commit.tmpl到pre-commit

2. 修改pre-commit檔案,注釋掉

"$repos"/hooks/commit-access-control.pl "$repos" $txn \

"$repos"/hooks/commit-access-control.cfg

這兩行3. 在set -e這行的下面新增一段

logmsg=`$svnlook log -t "$txn" "$repos" | grep "[a-za-z0-9]" | wc -c`

if [ "$logmsg" -lt 6 ];

then

echo -e "\nlog message cann't be empty! you must input no less than 6 chars as comment!." 1>&2

exit 1

fi因為只要退出時返回值不為0,svn伺服器就認為檢查失敗,將不進行下一步操作,這裡直接返回了1,也可以是其它值。在這裡檢測日誌資訊是否小於6個字元,小於六個字元則報錯,給出提示。

4. 執行命令,給該事件腳新增執行許可權

chmod +x pre-commit

齊活!這點兒比較好,不用重新啟動svn伺服器即可使其生效,但隨之而來又有乙個問題,那就是說svn伺服器每執行乙個操作都會查詢對應的事件處理指令碼是否存在,如果存在則執行,即使存在也會每次都從磁碟重新讀取一次,這樣顯然會影響程式的執行效率,特別是每次都從磁碟上找,效率是很低的。

所幸,svn伺服器又不會跟資料庫似地每秒成千上萬次的訪問,這點兒效率也不svn的使用。

SVN禁止空日誌

墨菲定律說 事情如果有變壞的可能,不管這種可能性有多小,它總會發生。所以,如果提交svn時可能沒有填注釋,那麼既然有這種可能性它總會發生的,甚至每天都會發生,所以今天我決定,在提交svn時禁止不填注釋,否則拒絕提交。svn其實在每次操作的時候都會執行乙個指令碼,定義了幾個事件,在版本庫的hooks目...

SVN異常處理 禁止訪問

一 輸入使用者名稱和密碼錯誤 1.沒有賬號,先開通賬號 2.若已經開通了賬號,確保使用者名稱輸入正確 解決辦法 1 是否正確輸入密碼 2 在輸入密碼時檢查輸入法是否鎖定大寫 3 以上檢查無誤,輸入密碼還是登入不上,需要找it解決 二 禁止訪問 處理 圖1分兩種情況 1.表示使用者沒有該資料夾的訪問許...

svn日誌亂碼

svn日誌亂碼 金慶的專欄 windows上用tortoisesvn提交,在linux上檢視日誌時顯示的是亂碼.中文字元變成了乙個問號和乙個8進製數,如 227。將日誌輸出為xml svn log r 123456 xml log.xml 然後用iconv手工轉成gb2312顯示 iconv f u...