linux svn强制注释,svn强制提交时添加注释
svn強制提交時添加注釋
1. ?需求
領(lǐng)導(dǎo)要求開發(fā)在提交代碼時必須添加注釋,經(jīng)過查資料,實驗,然后實現(xiàn)領(lǐng)導(dǎo)的要求。
2. ?查看資料
參考svn文檔,以及網(wǎng)上博客
通過查看資料,一步一步的實現(xiàn)腳本
3. ?實現(xiàn)步驟
1)在版本庫的hooks目錄下創(chuàng)建pre-commit文件
2)并給pre-commit可只執(zhí)行權(quán)限(chmod +x pre-commit)
3)實現(xiàn)腳本如下:[root@IT-test?svn]#?cat?文檔/hooks/pre-commit
#!/bin/sh
export?LC_ALL=zh_CN.UTF-8
export.UTF-8
export?LANGUAGE=zh_CN.UTF-8
export?LC_CTYPE=zh_CN.UTF-8
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK?log?-t?"$TXN""$REPOS")
[?-z?$LOGMSG?]?&&?LOGLEN=0?||?LOGLEN=$(expr?length?$LOGMSG)
if?[?"$LOGLEN"?-lt?10?];?then
echo?-e?"\n?提交文件時必須添加注釋,提交中止."1>&2
exit?1
fi
[root@IT-test?svn]#?ll?文檔/hooks/pre-commit
-rwxr-xr-x?1?root?root?340?9月?14?16:02?文檔/hooks/pre-commit
4. ?遇到的問題
1)使用第三方軟件(myeclipse,eclipse等)時,提交svn時,會報以下錯誤
svn: Can't convert string from native encoding to 'UTF-8':
svn: /var/svn/?\230?\150?\135?\230?\161?\163
解決思路:在/etc/profile里添加環(huán)境變量,exportLC_ALL=zh_CN.UTF-8
exportLANG=zh_CN.UTF-8
exportLANGUAGE=zh_CN.UTF-8
exportLC_CTYPE=zh_CN.UTF-8
沒有啟作用,然后想到可能svn不能調(diào)用系統(tǒng)的變量,于是將這四個變量加入到腳本文件中,然后解決亂碼的問題。
博客中定義的LOGMSG=$($SVNLOOK?log?-t?"$TXN"?"$REPOS"|?grep?"[a-zA-Z0-9]"?|?wc?-c)
如果全是中文,LOGMSG=0,表達式"$LOGLEN" -lt 10永遠成立,后來將腳本改為expr length 查看字符串大小,解決問題LOGMSG=$($SVNLOOK?log?-t"$TXN"?"$REPOS")
LOGLEN=$(expr?length?$LOGMSG)
總結(jié)
以上是生活随笔為你收集整理的linux svn强制注释,svn强制提交时添加注释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 32库路径,linux –
- 下一篇: Linux下dislocate命令用法,