linux svn 強制新增備註(註釋)提交
阿新 • • 發佈:2018-12-09
Linux版本
-
在svn的hooks目錄下新建一個名為pre-commit的檔案併為其新增執行許可權
-
pre-commit檔案的內容如下:
#!/bin/sh REPOS="$1" TXN="$2" SVNLOOK=/opt/CollabNet_Subversion/bin/svnlook LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c) if [ "$LOGMSG" -lt 10 ]; then echo -e "\n 提交檔案時必須添加註釋,提交中止." 1>&2 exit 1 fi
-
pre-commit 檔案增加可執行許可權
chmod +x pre-commit
指令碼命令解釋
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c)
將提交的日誌資訊作為便來那個輸入之後,將grep英文和數字的結果作為變數
if [ "$LOGMSG" -lt 10 ];then
傳入變數來判斷變數長度是否小於10 -eq 等於號 -gt 大於號 -lt小於號
echo -e "\n 提交檔案時必須添加註釋,提交中止." 1>&2
exit 1
echo 錯誤提示資訊的時候必須重定向到 stderr ,即 1>&2
問題
-
添加註釋也不能提交
經檢查/opt/CollabNet_Subversion/bin/svnlook不存在,使用whereis命令檢視:
[[email protected]localhost hooks]# whereis svnlook svnlook: /usr/bin/svnlook /usr/share/man/man1/svnlook.1.gz
修改:SVNLOOK=/usr/bin/svnlook
-
中文註釋問題
在程式碼中只對英文和數字字元做了計數,中文怎麼處理?