summaryrefslogtreecommitdiffstats
path: root/git-hooks/gerrit-bot
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-06-06 17:25:00 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-06-08 10:56:43 +0200
commit1abf4e4a99f3c6a2abd071de499d0cf991a3e7c1 (patch)
tree9d417c31ef4aa56b13b0f65bb35265605a906cd8 /git-hooks/gerrit-bot
parent02cf006e738eb10d932678829a7d3de378fd203a (diff)
put change refs into a more defined place
don't mess with the remote ref string Change-Id: I30890801a40fc66049e96534ec69c7fe60032085 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'git-hooks/gerrit-bot')
-rwxr-xr-xgit-hooks/gerrit-bot13
1 files changed, 6 insertions, 7 deletions
diff --git a/git-hooks/gerrit-bot b/git-hooks/gerrit-bot
index 8bb327c..26ac741 100755
--- a/git-hooks/gerrit-bot
+++ b/git-hooks/gerrit-bot
@@ -82,9 +82,9 @@ sub printerr($)
print STDERR $msg.".\n";
}
-sub process_commit($$$)
+sub process_commit($$$$)
{
- my ($project, $ref, $rev) = @_;
+ my ($number, $project, $ref, $rev) = @_;
if (defined $processed{$ref}) {
return;
@@ -117,9 +117,7 @@ sub process_commit($$$)
chomp(@mainlines = `git config remote.origin.fetch`);
$skipfetch{$project} = 1;
}
- my $dref = $ref;
- $dref =~ s,/[^/]+$,,;
- if (system("git", "fetch", "-f", "origin", $ref.":".$dref, @mainlines)) {
+ if (system("git", "fetch", "-f", "origin", $ref.":refs/changes/".$number, @mainlines)) {
printerr "GIT fetch of ".$ref." from ".$project." failed";
return;
}
@@ -167,6 +165,7 @@ open STATUS, "-|", @gerrit, "query", "--format", "JSON", "--current-patch-set",
REVIEW: while (<STATUS>) {
my $review = decode_json($_);
defined($review) or die "cannot decode JSON string '".chomp($_)."'\n";
+ my $number = $$review{'number'};
my $project = $$review{'project'};
my $cps = $$review{'currentPatchSet'};
if (defined $cps) {
@@ -186,7 +185,7 @@ REVIEW: while (<STATUS>) {
}
}
}
- process_commit($project, $ref, $revision);
+ process_commit($number, $project, $ref, $revision);
}
}
close STATUS;
@@ -199,7 +198,7 @@ while (<UPDATES>) {
if ($type eq 'patchset-created') {
my $chg = $$update{'change'};
my $ps = $$update{'patchSet'};
- process_commit($$chg{'project'}, $$ps{'ref'}, $$ps{'revision'});
+ process_commit($$chg{'number'}, $$chg{'project'}, $$ps{'ref'}, $$ps{'revision'});
} elsif ($type eq 'ref-updated') {
my $rup = $$update{'refUpdate'};
delete $skipfetch{$$rup{'project'}};