[Phpmyadmin-git] [SCM] phpMyAdmin scripts branch, master, updated. a68a677c164fbf145e580e7ce7719004db67883b
Michal Čihař
nijel at users.sourceforge.net
Thu Feb 25 17:21:00 CET 2010
The branch, master has been updated
via a68a677c164fbf145e580e7ce7719004db67883b (commit)
via c528db5e5b95a5369a0af47481491a13999c71bc (commit)
from 1a5e64308d67d5f26cc2ea0497134ac7fe1033ed (commit)
- Log -----------------------------------------------------------------
commit a68a677c164fbf145e580e7ce7719004db67883b
Author: Michal Čihař <michal at cihar.com>
Date: Thu Feb 25 17:20:45 2010 +0100
Drop not used ciabot.
commit c528db5e5b95a5369a0af47481491a13999c71bc
Author: Michal Čihař <michal at 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 at stanford.edu>
-# Copyright 1998 Board of Trustees, Leland Stanford Jr. University
-#
-# Copyright 2001, 2003, 2004, 2005 Petr Baudis <pasky at 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 at cihar.com';
-
-# Mail all reports to this address.
-$dest_email = 'cia at 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
-
- at 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
--
phpMyAdmin scripts
More information about the Git
mailing list