diff options
-rw-r--r-- | java/com/google/gerrit/sshd/AbstractGitCommand.java | 8 | ||||
-rw-r--r-- | java/com/google/gerrit/sshd/commands/Upload.java | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/java/com/google/gerrit/sshd/AbstractGitCommand.java b/java/com/google/gerrit/sshd/AbstractGitCommand.java index 5370c9e4fc..921b4168c3 100644 --- a/java/com/google/gerrit/sshd/AbstractGitCommand.java +++ b/java/com/google/gerrit/sshd/AbstractGitCommand.java @@ -47,11 +47,15 @@ public abstract class AbstractGitCommand extends BaseCommand { protected Repository repo; protected Project.NameKey projectName; protected Project project; - protected String gitProtocol; + protected String[] extraParameters; @Override public void start(Environment env) { - gitProtocol = env.getEnv().get(GIT_PROTOCOL); + String gitProtocol = env.getEnv().get(GIT_PROTOCOL); + if (gitProtocol != null) { + extraParameters = gitProtocol.split(":"); + } + Context ctx = context.subContext(newSession(), context.getCommandLine()); final Context old = sshScope.set(ctx); try { diff --git a/java/com/google/gerrit/sshd/commands/Upload.java b/java/com/google/gerrit/sshd/commands/Upload.java index c5ffc168c8..cb5d449fa9 100644 --- a/java/com/google/gerrit/sshd/commands/Upload.java +++ b/java/com/google/gerrit/sshd/commands/Upload.java @@ -65,8 +65,8 @@ final class Upload extends AbstractGitCommand { up.setPackConfig(config.getPackConfig()); up.setTimeout(config.getTimeout()); up.setPostUploadHook(PostUploadHookChain.newChain(Lists.newArrayList(postUploadHooks))); - if (config.enableProtocolV2() && gitProtocol != null) { - up.setExtraParameters(ImmutableList.of(gitProtocol)); + if (config.enableProtocolV2() && extraParameters != null) { + up.setExtraParameters(ImmutableList.copyOf(extraParameters)); } List<PreUploadHook> allPreUploadHooks = Lists.newArrayList(preUploadHooks); |