[git][commit] karma.git: hooks/commit-bugs.php hooks/post-receive.bugsweb
| From: | David Soria Parra | Date: | Sun, 18 Mar 2012 20:11:09 +0000 |
| Subject: | [git][commit] karma.git: hooks/commit-bugs.php hooks/post-receive.bugsweb | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-67935@lists.php.net to get a copy of this message | ||
Commit: 9ae86325126874f4645c8bf4ed4ac156b97d9bdc
Author: Florian Anderiasch(fa@php.net) Thu, 8 Mar 2012 09:27:53 +0100
Committer: Florian Anderiasch(fa@php.net) Thu, 8 Mar 2012 09:27:53 +0100
Parents: 7d3adc9b7f30027dadbccf1038979cbcd7bff94d
Link: http://git.php.net/?p=karma.git;a=commitdiff;h=9ae86325126874f4645c8bf4ed4ac156b97d9bdc
Log:
Add slightly adapted commit-bugs.php and hook script
Changed paths:
M hooks/commit-bugs.php
A hooks/post-receive.bugsweb
Diff:
9ae86325126874f4645c8bf4ed4ac156b97d9bdc
diff --git a/hooks/commit-bugs.php b/hooks/commit-bugs.php
index f62cb8b..df5b913 100644
--- a/hooks/commit-bugs.php
+++ b/hooks/commit-bugs.php
@@ -13,7 +13,7 @@ $bug_url_prefixes = array(
'' => 'https://bugs.php.net',
);
$bug_rpc_url = 'https://bugs.php.net/rpc.php';
-$viewvc_url_prefix = 'http://svn.php.net/viewvc/?view=revision&revision=';
+//$viewvc_url_prefix = 'http://svn.php.net/viewvc/?view=revision&revision=';
//
-----------------------------------------------------------------------------------------------------------------------------
// Get the list of mentioned bugs from the commit log
diff --git a/hooks/post-receive.bugsweb b/hooks/post-receive.bugsweb
new file mode 100755
index 0000000..9dc403f
--- /dev/null
+++ b/hooks/post-receive.bugsweb
@@ -0,0 +1,62 @@
+#!/usr/bin/env php
+<?php
+namespace Karma;
+
+const KARMA_FILE = '/git/checkout/SVNROOT/global_avail';
+const REPOSITORY_PATH = '/git/repositories';
+const LIB_PATH = '/git/checkout/karma/lib';
+
+set_include_path(
+ getenv('KARMA_LIB_PATH') ?: LIB_PATH .
+ PATH_SEPARATOR .
+ get_include_path());
+
+include 'Git.php';
+include 'Git/PushInformation.php';
+include 'Git/ReceiveHook.php';
+
+$hook = new \Git\ReceiveHook(KARMA_FILE, REPOSITORY_PATH);
+$rpath = $hook->getReceivedMessages();
+
+$template = "Automatic comment from GIT on behalf of %s
+Revision: http://git.php.net/%s
+Log: %s";
+
+foreach ($rpath as $commit) {
+ // should look like this: "[user@php.net] 0df3233344 Fixed bug #1234 It works!"
+ $pattern = '(\[([^\]]+)\] ([0-9a-f]+)(.*Fix(ed)? (bug )?\#([0-9]+)(.*)))i';
+ preg_match($pattern, $commit, $matches);
+
+ if (!isset($matches[1])) {
+ continue;
+ }
+
+ $committer = $matches[1];
+ $commitHash = $matches[2];
+ $commitMsg = trim($matches[3]);
+ $bugNumber = $matches[6];
+ $shortMsg = trim($matches[7]);
+ if ($shortMsg[0] == '(') {
+ $shortMsg = substr($shortMsg, 1);
+ }
+ if ($shortMsg[strlen($shortMsg)-1] == ')') {
+ $shortMsg = substr($shortMsg, 0, -1);
+ }
+
+ $output = sprintf(
+ $template,
+ $committer,
+ $commitHash,
+ $commitMsg
+ );
+
+ $commit_info = array();
+ $commit_info['log_message'] = $commitMsg;
+ $commit_info['author'] = $committer;
+ $viewvc_url_prefix = sprintf(
+ 'http://git.php.net/?p=%s.git;a=commit;h=',
+ $hook->getRepositoryName()
+ );
+ $REV = $commitHash;
+ require __DIR__ . '/commit-bugs.php';
+}