svn java注释_svn 强制用户添加注释 和 允许用户修改注释
當(dāng)我們用TortoiseSVN提交代碼時(shí),有很多人不喜歡寫(xiě)注釋,導(dǎo)致以后代碼版本多,也不清楚哪個(gè)版本到底改了什么東西。所以在提交的時(shí)候,我會(huì)強(qiáng)制要求添加注釋。這是如何實(shí)現(xiàn)的?這個(gè)話題就涉及到了svn的Hooks功能的使用。
所謂hooks,可以類(lèi)似理解Linux內(nèi)核Netfilter框架的hook點(diǎn)和hook函數(shù)的概念。當(dāng)用戶在維護(hù)代碼的過(guò)程中,其執(zhí)行的相關(guān)動(dòng)作正好觸發(fā)了相關(guān)hook點(diǎn),就會(huì)去執(zhí)行對(duì)應(yīng)hook點(diǎn)的腳本。
那么如何設(shè)置hook腳本以保證強(qiáng)制用戶添加注釋,以及允許用戶修改注釋呢?
1. SVN強(qiáng)制添加注釋信息
用戶提交代碼的動(dòng)作,對(duì)應(yīng)的是pre-commit。因此,進(jìn)入hook目錄把pre-commit.tmpl文件名修改為pre-commit, Windows下可以修改為pre-commit.bat,這樣可以讓系統(tǒng)知道該文件是可執(zhí)行文件。
打開(kāi)pre-commit文件,注釋或刪除所有的代碼,然后添加如下代碼:
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/local/bin/svnlook # 修改為服務(wù)器安裝的subversion目錄 whereis svnlook
LOGMSG=$($SVNLOOK log -t “$TXN” “$REPOS” | grep "[a-zA-Z0-9]" | wc -m)
if [ "$LOGMSG" -lt 10 ]; then #要求注釋不能少于10個(gè)字符(數(shù)字和字母),您可自定義
echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2
exit 1
fi
exit 0
保存,退出。
給pre-commit添加可執(zhí)行權(quán)限:
2. 允許用戶修改注釋信息
用戶修改注釋信息的動(dòng)作,對(duì)應(yīng)的是pre-revpos-change。將hooks目錄下的pre-revpos-change.tmpl改名為pre-revpos-change。通常該文件包含的功能就是允許用戶修改注釋信息。默認(rèn)文件內(nèi)容如下,如果不是下面這些內(nèi)容的話,可以對(duì)照修改即可:
#!/bin/sh
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ];
then
exit 0;
fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1
保存,退出。
將該文件加上可執(zhí)行權(quán)限即可:
chmod +x pre-revpos-change
這樣,就可以允許用戶修改注釋信息了。
總結(jié)
以上是生活随笔為你收集整理的svn java注释_svn 强制用户添加注释 和 允许用户修改注释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql数据库进行更新、插入显示中文乱
- 下一篇: omv检查硬盘坏道_坏道检测与修复