我已成功實施提交後掛接的提交後電子郵件通知。現在我正在考慮一個更大的問題,我不希望掛鉤爲每次提交發送電子郵件。有沒有辦法使用hook來將電子郵件的內容寫入文本文件,並可能使用其他鉤子或其他東西來發送文本文件?如何在SVN中添加多個提交到一個Post-Commit HOOK?
我基本上都會發送一封包含多個提交信息的電子郵件。
謝謝, Oded。
我已成功實施提交後掛接的提交後電子郵件通知。現在我正在考慮一個更大的問題,我不希望掛鉤爲每次提交發送電子郵件。有沒有辦法使用hook來將電子郵件的內容寫入文本文件,並可能使用其他鉤子或其他東西來發送文本文件?如何在SVN中添加多個提交到一個Post-Commit HOOK?
我基本上都會發送一封包含多個提交信息的電子郵件。
謝謝, Oded。
首先,你必須決定當你真正要發送的電子郵件:
那麼你應該能夠輕鬆地實施方案的工作,因爲你需要它:在
revision number % 10 == 0
您可以使用svn log
和svn diff
與-r FROM:TO
選項按日期或版本號收集所需信息。有關更多信息,請參閱the svnbook。
你可以修改後提交郵件發送者的腳本作了一次提交後發送電子郵件(如版本號爲5的倍數)
幫忙寫腳本,你可以使用svnlook的獲取先前修訂日誌。
下面是一個Python腳本的一部分,我寫信給發送短信到開發商:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, urllib, os
from subprocess import *
repo = sys.argv[2]
rev = sys.argv[3]
cmdlog = 'svnlook log -r %s %s'%(rev, repo)
cmdauthor = 'svnlook author -r %s %s'%(rev, repo)
log = Popen(cmdlog, stdout=PIPE, shell=True).stdout.read().strip()
author = Popen(cmdauthor, stdout=PIPE, shell=True).stdout.read().strip()
與後提交文件
#!/bin/bash
export LANG=en_US.utf8
REPOS="$1"
REV="$2"
./sms.py commit $REPOS $REV
你可以參照這個例子來從日誌信息svn倉庫的命令svnlook
我想發送的電子郵件需要包含所有提交的所有信息...不是第5或第10個.... – Oded 2009-07-28 06:45:39