如何将SVN中的多个提交添加到一个Post-Commit钩子中?
我已经成功地为post-commit钩子实现了post-commit电子邮件通知。现在我看到了一个更大的问题,我不希望钩子每次提交都发送电子邮件。有没有一种方法可以使用钩子将电子邮件内容写入文本文件,或者使用另一个钩子或其他东西发送文本文件 我基本上希望发送一封包含多个提交信息的电子邮件 谢谢, Oded.首先,您必须决定何时发送电子邮件:如何将SVN中的多个提交添加到一个Post-Commit钩子中?,svn,email,notifications,post-commit,Svn,Email,Notifications,Post Commit,我已经成功地为post-commit钩子实现了post-commit电子邮件通知。现在我看到了一个更大的问题,我不希望钩子每次提交都发送电子邮件。有没有一种方法可以使用钩子将电子邮件内容写入文本文件,或者使用另一个钩子或其他东西发送文本文件 我基本上希望发送一封包含多个提交信息的电子邮件 谢谢, Oded.首先,您必须决定何时发送电子邮件: 每十年一次 午夜 什么时候标记 然后,您应该能够轻松地实施一个方案,并根据需要执行该方案: 在提交后挂钩中:仅当修订号%10==0时发送电子邮件 创建cro
修订号%10==0时发送电子邮件
svn log
和svn diff
以及-r FROM:TO
选项,按日期或修订号收集所需信息。有关更多信息,请参阅。首先,您必须决定何时发送电子邮件:
修订号%10==0时发送电子邮件
您可以使用
svn log
和svn diff
以及-r FROM:TO
选项,按日期或修订号收集所需信息。有关更多信息,请参阅。您可以修改提交后电子邮件发件人脚本,以便在提交后发送电子邮件(例如,修订号是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
您可以参考此示例,通过命令svnlook从svn存储库中获取日志信息。您可以修改提交后电子邮件发件人脚本,以便在一些提交后发送电子邮件(例如,修订号是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
您可以参考此示例,通过命令svnlook从svn存储库获取日志信息。我要发送的电子邮件需要包含所有提交的所有信息。。。不是第5次或第10次…所以每次提交时将内容写入文件,并在第10次提交时发送文件。或者使用“svn日志”和“svn差异”获取您需要的信息。我要发送的电子邮件需要包含所有提交的所有信息。。。不是第5次或第10次…所以每次提交时将内容写入文件,并在第10次提交时发送文件。或者使用“svn日志”和“svn差异”获取所需信息。