skip to navigation
skip to content

Not Logged In

svnpoller 0.0.10

polling svn repository and notify by email.

svnpoller watches target SVN repositories regularly and transmits a commit-mail to the designated notify party about each commit when there are new commits.

Setting sample

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

Notify mail sample

Notified mail sample:

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)

Requirements

  • Python 2.4 or later (not support 3.x)

Dependencies

Features

  • polling specified svn repository
  • send commit message and diff by email

Setup

Make environment (by easy_install):

$ easy_install svnpoller

Make environment (by buildout):

$ hg clone http://bitbucket.org/shimizukawa/svnpoller
$ cd svnpoller
$ python bootstrap.py
$ bin/buildout

Copy and modify ini file. example:

$ cp <svnpoller installed path>/svnpoller/svnpoller.ini .
$ vi svnpoller.ini

Please refer to Setting sample section for the format of the svnpoller.ini configuration file.

Usage

Execute svnpoller command:

$ svnpoller svnpoller.ini

or setup cron job:

$ crontab -e
0 0 * * * /path/to/svnpoller /path/to/svnpoller.ini

History

0.0.10 (2010-9-16)

  • Fix: svnpoller exec 'svn diff -r100 <URL>' for check revision 10000 that command mean 'svn diff -r100:HEAD <URL>' then if HEAD=10000 svnpoller take long time and large svn diff output.

0.0.9 (2010-6-23)

  • Fix: commit message include multi-byte charactor cause exception.
  • Remove: lxml dependency, become optional (thanks to 'Federico' for the patch!).
  • Fix: Exception caused by error status return from svn command when repository was not updated since last check (thanks to 'Federico' for the patch!).
  • Add: copy-only or delete-only or move-only diff are not attached (thanks to 'Federico' for the patch!).

0.0.8 (2010-6-20)

  • Fix: Notify mail send only first address when multiple address (comma separated) was specified on ini file.

0.0.7 (2010-6-18)

  • Fix: datetime.strptime replaced with time.strptime (for Python-2.4)
  • Remove: lxml dependency. (if python-2.5 or later)
  • Change: supported svn external command version: 1.4 or later

0.0.6 (2010-6-18)

  • Fix: latest revision's change ware notified every time.
  • Add: some tests.

0.0.5 (2010-5-20)

  • Add changed path-list to mail-message.

0.0.4 (2010-5-20)

  • first release

Todos

Functionals

  • Add debug option '--debug / -d' for processing status output.
  • Add log output option '--log / -l' by logging.
  • Add filtering option for non-target file at same commit rev.
  • Introduce customizable mail template.
  • Remove base64 e-mail encoding always.
  • Add e-mail encoding (now using base64 encoded utf-8)
  • Add notify mechanism when lost target (maybe repository structure was changed)
  • Add setting for the filtering of the file which it was saved at the same time, but is uninteresting.
  • Add mercurial(hg) support.
  • Add bazaar(bzr) support.
  • Attach diff without printing in the main text.(config?)
  • Speed-up for multi url polling.
  • Add generating ini file automatically, or using Paster template.

Environments

  • Refactoring.
  • Add test: multi url polling
  • Add test: Python2.4, 2.5, 2.6 support check.

Known Issues

  • "--dry-run" update latest revision config value.
 
File Type Py Version Uploaded on Size
svnpoller-0.0.10.tar.gz (md5) Source 2010-09-16 144KB
  • Downloads (All Versions):
  • 13 downloads in the last day
  • 140 downloads in the last week
  • 683 downloads in the last month