svn鉤子函數(HOOK)的使用-win平臺

注意:測試以前必定要先把服務器站點根目錄代碼更新到最新版本


強制書寫提交說明

  • 首先在相應版本庫的hooks目錄(個人是C:\svnRepositories\fsmtestsvn\hooks)新建一個文件:pre-commit.bat

  • 文件內容編輯以下:

@echo off
setlocal
set REPOS=%1
set TXN=%2

rem 這個svn服務器安裝目錄下面的bin下面的svnlook.exe
set SVNLOOK="C:\svnserver\bin\svnlook.exe"

rem 檢查不能爲空,至少輸入十個字符(幾個點就是幾個字符)
%SVNLOOK% log %REPOS% -t %TXN% | findstr ".........." > nul

if %errorlevel% gtr 0 goto err
exit 0
:err
echo 您正在操做的項目是fsmtestsvn >&2
echo 不容許空日誌,提交中斷(須要不小於10個英文字符或5個漢字的日誌)! >&2
exit 1

自動更新同步服務器站點目錄的代碼

  • 1. 首先在版本庫的hooks目錄(個人是C:\svnRepositories\fsmtestsvn\hooks)新建一個文件:post-commit.bat

  • 文件內容編輯以下:
前一個路徑爲svn 服務端的svn.exe的路徑,後一個爲須要被同步的網站站點目錄,用戶名和密碼就是你登陸並檢出版本庫時的用戶密碼
@echo off
"C:\svnserver\bin\svn.exe" update "C:\fsmSoftWeare\phpstudy\WWW\testsvnhook" --username "xxx" --password "xxx"
到此測試一下,首先將服務器上面的網站部署目錄代碼更新到最新版,而後到本地提交一個測試文件,看服務器上面是否自動更新,若是更新成功則到此結束,若是提交過程當中報錯,應該是權限不夠,看第二步
  • 2. 到計算機的服務裏面找到VisualSvn server,右鍵屬性,在登陸選項裏面,把此帳戶改成.\Administrator,密碼改成你的服務器密碼,點擊肯定保存,而後右鍵中止VisualSvn server服務,再從新開啓該服務

clipboard.png


快捷方式添加hook

直接在版本庫右鍵=>properties=>hooks裏面編輯相應的hook

clipboard.png

相關文章
相關標籤/搜索