Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/4152 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/dev-tools refs/changes/52/4152/1 ciabot: unwatch si-gui again + add script for si-gui Change-Id: I1556dc4cef8d006efc0cdff29596a95690d1c81e --- M ciabot/run-libreoffice-ciabot.pl A ciabot/sigui-bugzilla.pl 2 files changed, 129 insertions(+), 1 deletion(-) diff --git a/ciabot/run-libreoffice-ciabot.pl b/ciabot/run-libreoffice-ciabot.pl index f53a2d6..b7173b5 100755 --- a/ciabot/run-libreoffice-ciabot.pl +++ b/ciabot/run-libreoffice-ciabot.pl @@ -124,7 +124,6 @@ "core", "dictionaries", "help", - "si-gui", ); $test = 0; diff --git a/ciabot/sigui-bugzilla.pl b/ciabot/sigui-bugzilla.pl new file mode 100644 index 0000000..d239ed7 --- /dev/null +++ b/ciabot/sigui-bugzilla.pl @@ -0,0 +1,129 @@ +#!/usr/bin/perl -w + +use strict; + +# A hook script which integrates with bugzilla. It looks for bug IDs in +# commit messages and adds the commit message as well as a link to the +# changeset as a comment on the bug. + +# This program is released under the terms of the GNU General Public License +# version 2. A copy of the license may be obtained by emailing the author, +# or at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt +# +# The absolute lack of warranty and other disclaimers as per the license +# apply. +# +# Copyright 2008, Devendra Gera. All rights reserved. +# +# Author : Devendra Gera + +### user configurable section + +our $bugzilla = {}; + +do $ENV{'HOME'} . "/bin/config.pl"; + +# The bug_regex should extract the bug id from the commit message and place +# it in $1 +my $bug_regex = 'fdo#(\d+)'; + +##### End user configurable section + +use vars qw ($tree @parent $author $committer); +use vars qw ($user $rev $logmsg); + +my $repo = $ARGV[0]; +my $sha = $ARGV[1]; +my $branch = $ARGV[2]; + +use WWW::Bugzilla; +my $cgiturl = "https://gerrit.libreoffice.org/gitweb?p=$repo.git;a=commit;h=$sha"; +$branch = "master"; +my $line; + +open COMMIT, "git cat-file commit $sha|" or die "git cat-file commit $sha: $!"; +my $state = 0; +$logmsg = ''; +while (defined ($line = <COMMIT>)) { + if ($state == 1) { + $logmsg .= $line; + $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; + $author =~ s/ <.*//; + } elsif ($key eq 'committer') { + $committer = $value; + $committer =~ s/ <.*//; + } +} +close COMMIT; + +my ($bugNr) = ( $logmsg =~ /$bug_regex/ ); + +die "no bug number in the commit" unless defined $bugNr; + +my $comment = <<END_COMMENT; +$author committed a patch related to this issue. +It has been pushed to "$branch": + +$cgiturl + +$logmsg + +The patch should be included in the next version of SI-GUI. +END_COMMENT + +# sanitize the comment - we are not handling utf-8 correctly from some reason +for ( $comment ) { + s/á/a/g; + s/Á/A/g; + s/é/e/g; + s/ě/e/g; + s/É/E/g; + s/Ě/E/g; + s/í/i/g; + s/Í/I/g; + s/ó/o/g; + s/Ó/O/g; + s/ú/u/g; + s/ů/ů/g; + s/Ú/U/g; + s/Ů/U/g; + s/ý/y/g; + s/Ý/Y/g; +} + +#commit the comment to bugzilla +my $bz = WWW::Bugzilla->new( + server => $bugzilla->{ server }, + email => $bugzilla->{ user }, + password => $bugzilla->{ password }, + bug_number => $bugNr + ); + +die "cannot connect to bugzilla" unless defined $bz; + +my $product = $bz->product; + +die "wrong product" unless $product eq 'LibreOffice'; + + +$bz->additional_comments( $comment ); + +$bz->commit; \ No newline at end of file -- To view, visit https://gerrit.libreoffice.org/4152 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1556dc4cef8d006efc0cdff29596a95690d1c81e Gerrit-PatchSet: 1 Gerrit-Project: dev-tools Gerrit-Branch: master Gerrit-Owner: Florian Reisinger <reisi...@gmail.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice