svn.gnome.org commit notification hooks and Git
- From: Owen Taylor <otaylor redhat com>
- To: gnome-infrastructure gnome org, gnome-web-list gnome org, gimp-web lists XCF Berkeley EDU
- Cc: Tim Janik <timj gtk org>, malerba gnome-db org, Sven Neumann <sven gimp org>
- Subject: svn.gnome.org commit notification hooks and Git
- Date: Thu, 02 Apr 2009 19:32:16 -0400
I'm trying to sort out notification hooks for svn.gnome.org prior to the
migration to git. If you are receiving the mail, I think you might knows
something about one of the existing mail hooks. Please read this or your
website update may stop working.
My proposal
============
Every module can configure one or more email addresses to receive
notification of branch updates. These mails will have the subject line:
GNOME_GIT $MODULENAME $BRANCH1 $BRANCH2 ...
The body of the mail will be ref updates in standard git format:
$OLDREV $NEWREV refs/heads/$BRANCH
Either $OLDREV or $NEWREV may be the nil revision
0000000000000000000000000000000000000000 to indicate a branch creation
or deletion. Only branch updates will appear - tags and other refs
will be omitted.
(I don't think the body is needed for anything anybody is doing
currently, but it's there in case you care.)
I'll prime the list of configured recipients from the email addresses
currently getting notification (detailed below). These mails will also
be sent to gnomeweb progress gnome org for all modules.
Current hook details
====================
All Modules
post-commit-mail-progress.awk $REPOS $REV
Sends a mail to gnomeweb progress gnome org with a subject of
POCOMMIT $MODULE [trunk|$BRANCH]
if a commit changes multiple branches, then the branch is ommitted. The subject is
duplicated as single line in the body. There is committed out code to only send
mails for changes to po/, with the comment "danilo said damned-lies needs to regenerate
a POT file and so it needs to see string changes easiest is to just send every commit
msg to progress"
This is handled by the procmail rule:
:0 bi
* ^Subject:.*POCOMMIT.\/[-+a-z0-9A-Z_ ]+
| cd /var/www/djamnedlies && /usr/bin/python /var/www/djamnedlies/manage.py update-stats $MATCH
update-stats does not read stdin.
art-web foundation-web glade-web gnome-devel-docs gnome-docu gnome-user-docs gnomebr-web
gnomefr-web gnomeweb-wml guadec-web gw-web library-web memprof-web planet-web
porting-doc pygtk-web usability-web wallpaper-web web-devel-2
echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb www gnome org
These are handled by the procmail rule:
:0 b
* ^Subject.*UPDATE.\/[-a-z0-9A-Z_]+
| /home/admin/bin/gnomeweb/set_buildflag.py -m $MATCH
set_buildflag.py (in this usage) doesn't do anything interesting with the contents
of stdin. It just writes the line to a file for debugging purposes.
svn-web viewcvs-web
echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb svn gnome org
Same as above but on svn.gnome.org
mail-web
echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb mail gnome org
Same as above but on mail.gnome.org
release-notes
/svn/bin/post-commit-mail-libgo-tarball.awk $REPOS $REV
Sends a mail with the subject "BRANCH $MODULE" to gnomeweb www gnome org The
contents are a series of lines containing a branch name (or "trunk") per line,
followed by a line with "$REPOS $REV". This is handled by the procmail rule.
:0 b
* ^Subject.*BRANCH.\/[-a-z0-9A-Z_]+
| /home/admin/bin/gnomeweb/set_buildflag.py -b -m $MATCH
setbuildflag.py reads the branchnames from stdin and more or less ignores
the trailing $REPOS $REV.
damned-lies
echo $REPOS $REV | mail -s "UPDATE damned-lies" gnomeweb progress gnome org
Used to go to set_buildflag.py but commented out
torrent-web
echo "$REPOS $REV" | mail -s "UPDATE torrent-web" gnomeweb [140 211 167 166]
- Why the IP address rather than a hostname?
$ host 140.211.167.166
166.167.211.140.in-addr.arpa domain name pointer gnometorrents.osuosl.org.
Seems to probably bounce - there is no gnomeweb user on this machine and no mail
alias.
gimp-web gegl-web
echo $REPOS $REV | mail -s "UPDATE $MODULE" geglweb mmmaybe gimp org
gimp-web-devel
echo $REPOS $REV | mail -s "UPDATE gimp-web-devel" rss gimp org
gnome-db-web
echo $REPOS $REV | mail -s "UPDATE gnome-db-web" gnomedb gollum gnome-db org
I think www.gnome-db.org is now a wiki hosted on label.gnome.org; is this module
now unused?
gtk-web
echo $REPOS $REV | mail -s "gtk-web commit <secret key>" timj gtk org
I think it's really up to the recipient to script things so that someone can't
create a horrible DOS by sending malicious mails. (Simply causing a continual
rebuild doesn't sound very fun.) If needed, though, we can just configure
timj+<secret_key>@gtk.org as the recipient. ("secret" ... the git configuration
won't be protected by any strong measures, though it should be moderately
hard to get to.)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]