svn傳送郵件通知是乙個非常不錯的選擇,對源**的更改實現資訊對稱和同步,但是在windows下面通過命令列實現郵件傳送可是不太容易,現在有乙個工具叫做blat,剛剛看了一下還算是短小精悍,也不知掉好用不好用,
進入版本庫目錄的hooks目錄下面,有個post-commit.tmpl,修改為post-commit.bat
刪除裡面的模板,千萬不要用#注釋,那是針對linux下面的。
@echo on
set repos=%1
set rev=%2
set rd=%random%
svnlook info %repos% > d:/tempfile/info_%rd%.txt
svnlook changed %repos% > d:/tempfile/chg_%rd%.txt
echo following is the commit content: >>d:/tempfile/info_%rd%.txt
echo u means update_a means added new file_d means deleted >>d:/tempfile/info_%rd%.txt
sed "1 i/dear:" d:/tempfile/info_%rd%.txt > d:/tempfile/info_%rd%_1.txt
sed "3 i/commit log message :" d:/tempfile/info_%rd%_1.txt > d:/tempfile/info_%rd%_2.txt
type chg.txt >> d:/tempfile/info_%rd%_2.txt
blat d:/tempfile/info_%rd%_2.txt -to %user%@**.**.com -bcc *@*.*.com -cc *@*.*.com -base64 -charset gb2312 -subject "subversion_notes_commit_user_%user%_version_%rev%" -server *.*.*.com -u scm -****** -f **@*.*.com
del d:/tempfile/*%rd%*.txt
exit 0
這幾行**就可以實現對乙個客戶端提交的transaction之後,所做的操作。完成了郵件傳送
技術點體現在
1:編寫命令列批處理能力
2:對於svn版本控制的更加深刻的認知
3:郵件傳送通過命令列完成的過程。
對於編寫命令列批處理能力是自嘆不如,回去找本書好好的看看。
完成了這樣的乙個配置,對於svn就發揮了更大的威力。
SVN郵件通知 郵件提醒功能
setlocal set repo svntest rem 定義預設的郵件主題 set scps 郵件主題 rem 定義預設的郵件內容 set icps 郵件內容 set sender qq.com set pwd password set mailrcpslist f repositories m...
GIT PUSH後自動傳送通知郵件
git的郵件通知是通過msmtp和mutt來發信的,所以首先需要配置msmtp和mutt環境 伺服器為ubuntu 16.04 安裝郵件客戶端 sudo apt install msmtp配置檔案為msmtprc,可以直接放在當前使用者目錄下 vim msmtprc 配置如下 defaults ac...
獲取外網IP並傳送郵件通知
源 http www.ip138.com ip2city.asp 格式 您的ip位址是 事實上有效的ip源遠遠不知以上3個,只要填寫正確的格式串,幾乎所有可以顯示ip位址的網頁都可以成為本程式的ip源.7 測試ip源 可以在不修改配置的情況下,測試填入的ip源和格式,測試結果將顯示在日誌頁面.8 檢...