From ac0468877ef2e8137b6e15fea1a63a25d1ad079a Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 10 Jul 2013 19:10:26 +0900 Subject: [PATCH] Allow callers of ChangeInserter to suppress running hooks Add a method to the ChangeInserter to allow callers to prevent hooks from being executed on the created change. Change-Id: I5a6d8f9c1d039ff43ee9529d15b57355cbd39ec5 --- .../google/gerrit/server/change/ChangeInserter.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java index b992ff2644..dcda7f75e2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java @@ -63,6 +63,7 @@ public class ChangeInserter { private ChangeMessage changeMessage; private Set reviewers; + private boolean runHooks; @Inject ChangeInserter(Provider dbProvider, @@ -84,8 +85,8 @@ public class ChangeInserter { this.refControl = refControl; this.change = change; this.commit = commit; - this.reviewers = Collections.emptySet(); + this.runHooks = true; patchSet = new PatchSet(new PatchSet.Id(change.getId(), INITIAL_PATCH_SET_ID)); @@ -113,6 +114,11 @@ public class ChangeInserter { return this; } + public ChangeInserter setRunHooks(boolean runHooks) { + this.runHooks = runHooks; + return this; + } + public PatchSet getPatchSet() { return patchSet; } @@ -143,6 +149,8 @@ public class ChangeInserter { indexer.index(change); gitRefUpdated.fire(change.getProject(), patchSet.getRefName(), ObjectId.zeroId(), commit); - hooks.doPatchsetCreatedHook(change, patchSet, db); + if (runHooks) { + hooks.doPatchsetCreatedHook(change, patchSet, db); + } } }