Merge "Add extension point to register JGit PreUploadHooks"
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
|
||||
package com.google.gerrit.sshd.commands;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gerrit.extensions.registration.DynamicSet;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.git.ChangeCache;
|
||||
import com.google.gerrit.server.git.TagCache;
|
||||
@@ -23,6 +25,8 @@ import com.google.gerrit.sshd.AbstractGitCommand;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
|
||||
import org.eclipse.jgit.transport.PreUploadHook;
|
||||
import org.eclipse.jgit.transport.PreUploadHookChain;
|
||||
import org.eclipse.jgit.transport.UploadPack;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -41,6 +45,9 @@ final class Upload extends AbstractGitCommand {
|
||||
@Inject
|
||||
private ChangeCache changeCache;
|
||||
|
||||
@Inject
|
||||
private DynamicSet<PreUploadHook> preUploadHooks;
|
||||
|
||||
@Override
|
||||
protected void runImpl() throws IOException, Failure {
|
||||
if (!projectControl.canRunUploadPack()) {
|
||||
@@ -54,6 +61,8 @@ final class Upload extends AbstractGitCommand {
|
||||
}
|
||||
up.setPackConfig(config.getPackConfig());
|
||||
up.setTimeout(config.getTimeout());
|
||||
up.setPreUploadHook(PreUploadHookChain.newChain(
|
||||
Lists.newArrayList(preUploadHooks)));
|
||||
up.upload(in, out, err);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user