轮询SVN仓库并通过电子邮件通知。
项目描述
svnpoller 定期监视目标SVN仓库,并在有新提交时向指定的通知方发送提交邮件。
设置示例
svnpoller.ini
[mail] smtpserver = localhost fromaddr = admin@example.com [sample-section] url = http://svn.example.org/path/to/repos/with/sub/path address = test1@example.com, test2@example.com
通知邮件示例
通知邮件示例
From: admin@example.com To: test1@example.com, test2@example.com Subject: [sample-section: 1230] * Revision: 1230 * Author: foo * Date: 2009-11-22T17:40:47.287888Z * Message: The commit log message for this revision here. * Paths: M /with/sub/path/somefile1.py A /with/sub/path/somefile2.py * Diff: Index: somefile1.py =================================================================== --- somefile1.py (revision 1230) +++ somefile1.py (revision 1229)
要求
Python 2.4或更高版本(不支持3.x)
依赖关系
svn外部命令(1.4或更高版本)
lxml(可选)
功能
轮询指定的SVN仓库
通过电子邮件发送提交消息和diff
设置
创建环境(通过easy_install)
$ easy_install svnpoller
创建环境(通过buildout)
$ hg clone http://bitbucket.org/shimizukawa/svnpoller $ cd svnpoller $ python bootstrap.py $ bin/buildout
复制并修改ini文件。示例
$ cp <svnpoller installed path>/svnpoller/svnpoller.ini . $ vi svnpoller.ini
请参考设置示例部分以了解配置文件< cite>svnpoller.ini的格式。
用法
执行svnpoller命令
$ svnpoller svnpoller.ini
或设置cron作业
$ crontab -e 0 0 * * * /path/to/svnpoller /path/to/svnpoller.ini
历史
0.0.10 (2010-9-16)
修复:svnpoller执行’svn diff -r100 <URL>’以检查修订版本10000,命令意味着’svn diff -r100:HEAD <URL>’,然后如果HEAD=10000,svnpoller将花费很长时间并产生大量的svn diff输出。
0.0.9 (2010-6-23)
修复:包含多字节字符的提交消息导致异常。
删除:lxml依赖关系,变为可选(感谢‘Federico’提供的补丁!)。
修复:由于从svn命令返回错误状态且仓库自上次检查以来未更新而导致的异常(感谢‘Federico’提供的补丁!)。
添加:仅复制、仅删除或仅移动的diff不附加(感谢‘Federico’提供的补丁!)。
0.0.8 (2010-6-20)
修复:当ini文件中指定了多个地址(以逗号分隔)时,只发送第一个地址的通知邮件。
0.0.7 (2010-6-18)
修复:将datetime.strptime替换为time.strptime(适用于Python-2.4)
移除:lxml依赖项。(如果为python-2.5或更高版本)
更改:支持的svn外部命令版本:1.4或更高版本
0.0.6 (2010-6-18)
修复:每次通知最新修订的更改。
添加:一些测试。
0.0.5 (2010-5-20)
将更改的路径列表添加到邮件消息中。
0.0.4 (2010-5-20)
第一个版本
待办事项
功能
添加调试选项“–debug / -d”以处理状态输出。
通过logging添加日志输出选项“–log / -l”。
添加对同一提交修订的非目标文件的过滤选项。
引入可自定义的邮件模板。
始终移除base64电子邮件编码。
添加电子邮件编码(现在使用base64编码的utf-8)
添加丢失目标时的通知机制(可能是仓库结构已更改)
添加对同时保存但无趣的文件的过滤设置。
添加mercurial(hg)支持。
添加bazaar(bzr)支持。
在主文本中不打印diff(配置?)
多URL轮询加速。
自动生成ini文件,或使用Paster模板。
环境
重构。
添加测试:多URL轮询
添加测试:Python2.4,2.5,2.6支持检查。
已知问题
“–dry-run”更新最新修订的配置值。
项目详情
svnpoller-0.0.10.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fc4cff41424bfcff3e72e2b3db0dfbe8a33141f5db99cc136125ec44e24dca3 |
|
MD5 | 142c8c073cd74edde4474cd2fb5d4782 |
|
BLAKE2b-256 | d55924425a926d9e1f4f2496b66c772ee8d809461928e0363986365b595577f7 |