Merge "Fix running Gerrit on Tomcat" into stable-2.16
diff --git a/java/com/google/gerrit/sshd/AbstractGitCommand.java b/java/com/google/gerrit/sshd/AbstractGitCommand.java
index 5370c9e..921b416 100644
--- a/java/com/google/gerrit/sshd/AbstractGitCommand.java
+++ b/java/com/google/gerrit/sshd/AbstractGitCommand.java
@@ -47,11 +47,15 @@
   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 c5ffc16..cb5d449 100644
--- a/java/com/google/gerrit/sshd/commands/Upload.java
+++ b/java/com/google/gerrit/sshd/commands/Upload.java
@@ -65,8 +65,8 @@
     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);