我已经成功地为post-commit钩子实现了post-commit电子邮件通知。现在我看到了一个更大的问题,我不希望钩子在每次提交时都发送电子邮件。有没有一种方法可以使用钩子将电子邮件的内容写入文本文件,然后使用另一个钩子或其他什么东西发送文本文件?
我基本上是想发送一封包含多个提交信息的电子邮件。
发布于 2009-07-28 06:35:39
首先,你必须决定什么时候发送电子邮件:
然后,您应该能够轻松地实现一个按需工作的方案:
revision number % 10 == 0时仅发送电子邮件
您可以使用带有-r FROM:TO选项的svn log和svn diff按日期或修订号收集所需的信息。更多信息请参见the svnbook。
发布于 2009-07-28 06:37:33
您可以修改提交后电子邮件发件人脚本,以便在提交一些邮件后发送电子邮件(例如,修订号是5的倍数)
为了帮助编写脚本,您可以使用svnlook来获取以前的修订日志。
以下是我为向开发人员发送SMS而编写的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您可以参考此示例,通过命令svnlook从svn存储库获取日志信息
https://stackoverflow.com/questions/1192191
复制相似问题