墨菲定律說:「事情如果有變壞的可能,不管這種可能性有多小,它總會發生。」所以,如果提交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...