1. 程式人生 > >linux svn 強制新增備註(註釋)提交

linux svn 強制新增備註(註釋)提交

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

  • 中文註釋問題

在程式碼中只對英文和數字字元做了計數,中文怎麼處理?