The branch, master has been updated via a68a677c164fbf145e580e7ce7719004db67883b (commit) via c528db5e5b95a5369a0af47481491a13999c71bc (commit) from 1a5e64308d67d5f26cc2ea0497134ac7fe1033ed (commit)
- Log ----------------------------------------------------------------- commit a68a677c164fbf145e580e7ce7719004db67883b Author: Michal Čihař michal@cihar.com Date: Thu Feb 25 17:20:45 2010 +0100
Drop not used ciabot.
commit c528db5e5b95a5369a0af47481491a13999c71bc Author: Michal Čihař michal@cihar.com Date: Thu Feb 25 17:19:27 2010 +0100
Oops, this wants different order of args.
-----------------------------------------------------------------------
Summary of changes: git-hooks/git-ciabot.pl | 308 ----------------------------------------------- git-hooks/post-receive | 2 +- 2 files changed, 1 insertions(+), 309 deletions(-) delete mode 100755 git-hooks/git-ciabot.pl
diff --git a/git-hooks/git-ciabot.pl b/git-hooks/git-ciabot.pl deleted file mode 100755 index 19eea54..0000000 --- a/git-hooks/git-ciabot.pl +++ /dev/null @@ -1,308 +0,0 @@ -#!/usr/bin/perl -w -# -# ciabot -- Mail a git log message to a given address, for the purposes of CIA -# -# Loosely based on cvslog by Russ Allbery rra@stanford.edu -# Copyright 1998 Board of Trustees, Leland Stanford Jr. University -# -# Copyright 2001, 2003, 2004, 2005 Petr Baudis pasky@ucw.cz -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License version 2, as published by the -# Free Software Foundation. -# -# The master location of this file is in the Cogito repository -# (see http://www.kernel.org/git/). -# -# This program is designed to run as the .git/hooks/post-commit hook. It takes -# the commit information, massages it and mails it to the address given below. -# -# The calling convention of the post-commit hook is: -# -# .git/hooks/post-commit $commit_sha1 $branch_name -# -# If it does not work, try to disable $xml_rpc in the configuration section -# below. Also, remember to make the hook file executable. -# -# -# Note that you can (and it might be actually more desirable) also use this -# script as the GIT update hook: -# -# refname=${1#refs/heads/} -# [ "$refname" = "master" ] && refname= -# oldhead=$2 -# newhead=$3 -# for merged in $(git rev-list $newhead ^$oldhead | tac); do -# /path/to/ciabot.pl $merged $refname -# done -# -# This is useful when you use a remote repository that you only push to. The -# update hook will be triggered each time you push into that repository, and -# the pushed commits will be reported through CIA. - -use strict; -use vars qw ($project $module $from_email $dest_email $noisy $rpc_uri $sendmail - $xml_rpc $ignore_regexp $alt_local_message_target); - -### Configuration - -# Project name (as known to CIA). -$project = `git config hooks.cia-project`; -chomp($project); -die "$0: hooks.cia_project not set in config file" unless $project; - -# Module name -$module = `git config hooks.cia-module`; -chomp($module); -unless ($module) { - my ($git_dir) = `git rev-parse --git-dir`; - chomp($git_dir); - if ($git_dir eq ".") { - $git_dir = `pwd`; - chomp($git_dir); - } - $git_dir = `basename $git_dir`; - chomp($git_dir); - $git_dir =~ s/.git$//; - $module = $git_dir; -} - -# The from address in generated mails. -$from_email = 'michal@cihar.com'; - -# Mail all reports to this address. -$dest_email = 'cia@cia.vc'; - -# If using XML-RPC, connect to this URI -$rpc_uri = `git config hooks.cia-rpc-uri`; -chomp($rpc_uri); -$rpc_uri = 'http://cia.vc/RPC2' unless $rpc_uri; - -# Path to your USCD sendmail compatible binary (your mailer daemon created this -# program somewhere). -$sendmail = '/usr/sbin/sendmail'; - -# If set, the script will send CIA the full commit message. If unset, only the -# first line of the commit message will be sent. -$noisy = 1; - -# This script can communicate with CIA either by mail or by an XML-RPC -# interface. The XML-RPC interface is faster and more efficient, however you -# need to have RPC::XML perl module installed, and some large CVS hosting sites -# (like Savannah or Sourceforge) might not allow outgoing HTTP connections -# while they allow outgoing mail. Also, this script will hang and eventually -# not deliver the event at all if CIA server happens to be down, which is -# unfortunately not an uncommon condition. -$xml_rpc = `git config hooks.cia-use-rpc`; -chomp($xml_rpc); -$xml_rpc = 0 unless $xml_rpc; - -# This variable should contain a regexp, against which each file will be -# checked, and if the regexp is matched, the file is ignored. This can be -# useful if you do not want auto-updated files, such as e.g. ChangeLog, to -# appear via CIA. -# -# The following example will make the script ignore all changes in two specific -# files in two different modules, and everything concerning module 'admin': -# -# $ignore_regexp = "^(gentoo/Manifest|elinks/src/bfu/inphist.c|admin/)"; -$ignore_regexp = ""; - -# It can be useful to also grab the generated XML message by some other -# programs and e.g. autogenerate some content based on it. Here you can specify -# a file to which it will be appended. -$alt_local_message_target = ""; - - - - -### The code itself - -use vars qw ($commit $tree @parent $author $committer); -use vars qw ($user $branch $rev @files $logmsg $message); -my $line; - - - -### Input data loading - - -# The commit stuff -$commit = $ARGV[0]; -$branch = $ARGV[1]; - -open COMMIT, "git cat-file commit $commit|" or die "$0: git cat-file commit $commit: $!"; -my $state = 0; -$logmsg = ''; -while (defined ($line = <COMMIT>)) { - if ($state == 1) { - $logmsg .= $line; - $noisy or $state++; - next; - } elsif ($state > 1) { - next; - } - - chomp $line; - unless ($line) { - $state = 1; - next; - } - - my ($key, $value) = split(/ /, $line, 2); - if ($key eq 'tree') { - $tree = $value; - } elsif ($key eq 'parent') { - push(@parent, $value); - } elsif ($key eq 'author') { - $author = $value; - } elsif ($key eq 'committer') { - $committer = $value; - } -} -close COMMIT; - - -open DIFF, "git diff-tree -r $parent[0] $tree|" or die "$0: git diff-tree $parent[0] $tree: $!"; -while (defined ($line = <DIFF>)) { - chomp $line; - my @f; - (undef, @f) = split(/\t/, $line, 2); - push (@files, @f); -} -close DIFF; - - -# Figure out who is doing the update. -# XXX: Too trivial this way? -($user) = $author =~ /<(.*@.*?)>/; - - -$rev = substr($commit, 0, 7); - - - - -### Remove to-be-ignored files - -@files = grep { $_ !~ m/$ignore_regexp/; } @files - if ($ignore_regexp); -exit unless @files; - - - -### Compose the mail message - - -my ($VERSION) = '1.0+alioth1'; -my $ts = time; - -$message = <<EM -<message> - <generator> - <name>CIA Perl client for Git</name> - <version>$VERSION</version> - </generator> - <source> - <project>$project</project> -EM -; -$message .= " <module>$module</module>" if ($module); -$message .= " <branch>$branch</branch>" if ($branch); -$message .= <<EM - </source> - <timestamp> - $ts - </timestamp> - <body> - <commit> - <author>$user</author> - <revision>$rev</revision> - <files> -EM -; - -foreach (@files) { - s/&/&/g; - s/</</g; - s/>/>/g; - $message .= " <file>$_</file>\n"; -} - -$logmsg =~ s/&/&/g; -$logmsg =~ s/</</g; -$logmsg =~ s/>/>/g; - -$message .= <<EM - </files> - <log> -$logmsg - </log> - </commit> - </body> -</message> -EM -; - - - -### Write the message to an alt-target - -if ($alt_local_message_target and open (ALT, ">>$alt_local_message_target")) { - print ALT $message; - close ALT; -} - - - -### Send out the XML-RPC message - -if ($xml_rpc) { - # We gotta be careful from now on. We silence all the warnings because - # RPC::XML code is crappy and works with undefs etc. - $^W = 0; - $RPC::XML::ERROR if (0); # silence perl's compile-time warning - - require RPC::XML; - require RPC::XML::Client; - - my $rpc_client = new RPC::XML::Client $rpc_uri; - my $rpc_request = RPC::XML::request->new('hub.deliver', $message); - my $rpc_response = $rpc_client->send_request($rpc_request); - - unless (ref $rpc_response) { - die "$0: XML-RPC Error: $RPC::XML::ERROR\n"; - } - exit; -} - - - -### Send out the mail - - -# Open our mail program - -open (MAIL, "| $sendmail -t -oi -oem") or die "$0: Cannot execute $sendmail : " . ($?>>8); - - -# The mail header - -print MAIL <<EOM; -From: $from_email -To: $dest_email -Content-type: text/xml -Subject: DeliverXML - -EOM - -print MAIL $message; - - -# Close the mail - -close MAIL; -die "$0: sendmail exit status " . ($? >> 8) . "\n" unless ($? == 0); - - -# vi: set sw=2: diff --git a/git-hooks/post-receive b/git-hooks/post-receive index f71b8fd..58d6998 100755 --- a/git-hooks/post-receive +++ b/git-hooks/post-receive @@ -687,7 +687,7 @@ else generate_email $oldrev $newrev $refname | send_mail if [ -n "$cia_project" ]; then for merged in $(git-rev-list $newrev ^$oldrev | tac); do - /gitrepo/p/ph/phpmyadmin/scripts/hooks/git-ciabot $merged $refname + /gitrepo/p/ph/phpmyadmin/scripts/hooks/git-ciabot $refname $merged done fi done
hooks/post-receive