基於svnlook,sed,blat svn某個路徑下增刪改郵件提醒。

@echo on

rem 獲取hooks目錄和版本庫目錄

set REPOS=%1

set REV=%2

rem 獲取提交發郵件基礎日誌

svnlook changed %REPOS% >d:\w.txt

rem 設置要發郵件的增刪該的路徑SVN路徑。

set mail=xxx/發佈版本/發佈版本/服務端/外測/

for %%i in (d:\w.txt) do (type %%i |find "%mail%">nul )

if %errorlevel%==0 goto ok        REM--如果有就跳到:ok

if %errorlevel%==1 goto end      REM--如果沒就跳到:end

:ok

rem 產生隨機數,作爲日誌的文件名

set RD=%RANDOM%

rem 郵件的用戶名(mail_user)和密碼(pass)

set mail_user=xxxx

set pass=xxxx

set dtime=%date:~0,10% %time%

svnlook info %REPOS% > e:\svnemail\INFO_%RD%.txt

svnlook changed %REPOS% > e:\svnemail\CHG_%RD%.txt

sed -e "1"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f  %%i in (e:\svnemail\temp.txt) do  set user=%%i

sed -e "2"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f  %%i in (e:\svnemail\temp.txt) do  set dtime=%%i

sed -e "4"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f "tokens=*" %%i in (e:\svnemail\temp.txt) do  set LOG_MSG=%%i

 

echo Dear %user% : >> e:\svnemail\MSG_%RD%.txt

echo         目前提交的版本號是:%REV% >> e:\svnemail\MSG_%RD%.txt

echo         提交時間 :%date:~0,10% %time:~0,8% >> e:\svnemail\MSG_%RD%.txt

echo         提交日誌 :%LOG_MSG% >> e:\svnemail\MSG_%RD%.txt

echo     ---------------------------------------------------------------以下是%user%最新提交的內容-------------------------------------------------------------------------- >> e:\svnemail\MSG_%RD%.txt

echo         提交的文件內容如下 : >> e:\svnemail\MSG_%RD%.txt

echo.   >> e:\svnemail\MSG_%RD%.txt

type  e:\svnemail\CHG_%RD%.txt >>  e:\svnemail\MSG_%RD%.txt

echo     ---------------------------------------------------------------以上是%user%最新提交的內容-------------------------------------------------------------------------- >> e:\svnemail\MSG_%RD%.txt

echo                                                                                                             遊戲配置更改 >> e:\svnemail\MSG_%RD%.txt

echo                                                                                                       %dtime% >> e:\svnemail\MSG_%RD%.txt


type  e:\svnemail\scm.txt >>  e:\svnemail\MSG_%RD%.txt

blat e:\svnemail\MSG_%RD%.txt -to [email protected],[email protected] -cc [email protected],[email protected]  -charset gb2312 -subject "SVN庫當前提交情況,提交者:%user% SVN當前版本號:%REV%"  -server smtp.xxxxxx.com -f [email protected]  -u %mail_user% -pw %pass%

exit

:end

svnlook info %REPOS%

exit


rem blat 爲發郵件小工具 -to 收件人郵箱地址,多個收件人用逗號隔開。-cc 抄送人多個用逗號隔開。第一次請手動創建svnemail文件夾及scm.txt文件。

工具都在附件。64dll,exe拷貝到C:\Windows\System32 即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章