SVN設置強制輸入日程和修改日程內容

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。
在項目中使用SVN可以幫助我們很方便的管理我們的項目資源,不過有時候我們可能會需要用戶在提交SVN時必須輸入日誌內容,這樣可以方便日後管理員對SVN進行維護和管理。同時可能我們輸入了日誌並且點擊了提交,但之後發現日誌內容不夠詳細,這時候我們需要對已經提交的日誌進行修改,那麼怎麼配置SVN呢。
[b][size=medium]一、強制輸入日誌內容[/size][/b]
進入SVN中的hooks目錄,新建文件pre-commit.bat,文件爲以下內容:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 5 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo that logmessage contains at least 10 alphanumeric characters. Commit aborted! 1>&2
exit 1

其中 echo that logmessage contains at least 10 alphanumeric characters. Commit aborted!
表示當沒有輸入日誌內容或者輸入字數不夠時提示的錯誤信息。
要想控制用戶輸入的最少字符,可以通過增加“findstr "......."”中點的個數,每個點代表一個字符。

[b][size=medium]二、修改已提交的SVN日誌[/size][/b]
進入SVN的hooks目錄,新建文件pre-revprop-change.bat,文件內容如下:
REM SVN pre-revprop-change hook allows edit of logmessages from TSVN

setlocal
set REPOS=%1
set REV=%2
set USER=%3
set PROPNAME=%4
set ACTION=%5

if not "%ACTION%"=="M" goto refuse
if not "%PROPNAME%"=="svn:log" goto refuse
goto OK

:refuse
echo Cann't set %PROPNAME%/%ACTION%, only svn:log is allowed 1>&2
endlocal
exit 1

:OK
endlocal
exit 0

此時即可修改SVN中已經提交的SVN日誌。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章