一、編寫 pre-commit腳本
------------------------------------#/bin/bashREPOS="$1"TXN="$2"# Make sure that the log message contains some text.SVNLOOK=/usr/bin/svnlookLOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`echo $LOGMSG#check log message more than 15_charsif [ "$LOGMSG" -le 15 ];then# echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2 echo -e "[Commit]注釋信息不能為空且不少于15個字符! " 1>&2 exit 1fi#if [[ "$MSG" == "["*"]"* ]];if [[ "$MSG" == "["[A-Z]-[A-Z][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]"]"* ]];then exit 0# echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2else echo -e "[Commit]注釋信息不要遺漏產品編號,如[W-P170122-08],若無產品編號請以[A-A000000-00]開頭填寫備注,謝謝! " 1>&2 exit 1fi# All checks passed, so allow the commit.exit 0-----------------------------------------
其中SVNLOOK要注意路徑,LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`這個統計長度。
MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`為日志的內容
二、將編輯好文件放到svn服務器倉庫hooks中,Linux下要確保pre-commit可執行的。
三、可以在svn客戶端實驗了,window下可以烏龜客戶端。
以上這篇SVN限制message字符個數及格式的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答