开发者

Pretty SVN commit emails: templates [closed]

开发者 https://www.devze.com 2022-12-29 14:07 出处:网络
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

开发者_JS百科

Closed 6 years ago.

Improve this question

Where can I find good templates for svn commit emails?

Google led me to this. Even though it was much better than the default post-commit, I didn’t find it very useful.

Help much appreciated.


I have found a combination of SVNSpam and the native python scripts to work very well. SVNSpam sends a html email with colored diffs which are really easy to read.

There is a bug in SVNSpam that wont allow it to handle binary files. So, in the post-commit hook I set up the usual python mailer script that comes with SVN Hooks package. I have it so that if SVNSpam returns an error code (and it only does so for binary diffs and tagging), the python mailer script is called. This handles everything very well for us.


SVNNotify is not perfect, but is really good


The script from http://blog.hungrymachine.com/2007/11/5/pretty-svn-commit-emails/ generates extra newlines for the changeset. You can eliminate those extra newlines by removing '\n' from the end of line 52.

52 body << %Q{<font style="color:#{color}">#{CGI.escapeHTML(line)}</font><br/>\n}


You can get the commit data from 'svn log --xml -v -r $REV' and filter the output through a xslt processor. There are some procjects which uses this workflow, like an RSS Generator or a changelog generator.


I find this one pretty useful because it includes a diff.


Good template would include a link to a review board (chatroom about the revision) and the case id. It also needs to have every changed file as a link to some websvn diff.


I'm using this: commit-email.pl

and post commit hook:

REPOS="$1"
REV="$2"
MAILNAME=`cat /etc/mailname`
REPONAME=$(basename $REPOS)

/var/local/lib/svn/commit-email.pl "$REPOS" "$REV" -s "[$REPONAME]" -h $MAILNAME --from "SVN" svn@example.com
0

精彩评论

暂无评论...
验证码 换一张
取 消