diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java index c4f662be9..6df2a4c6f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java @@ -1077,7 +1077,7 @@ public abstract class BaseReceivePack { */ protected void recvCommands() throws IOException { PushCertificateParser certParser = getPushCertificateParser(); - FirstLine firstLine = null; + boolean firstPkt = true; try { for (;;) { String line; @@ -1097,10 +1097,12 @@ public abstract class BaseReceivePack { continue; } - if (firstLine == null) { - firstLine = new FirstLine(line); + if (firstPkt) { + firstPkt = false; + FirstLine firstLine = new FirstLine(line); enabledCapabilities = firstLine.getCapabilities(); line = firstLine.getLine(); + enableCapabilities(); if (line.equals(GitProtocolConstants.OPTION_PUSH_CERT)) { certParser.receiveHeader(pckIn, !isBiDirectionalPipe()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java index 1dd58d0d7..2477806bd 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java @@ -184,8 +184,6 @@ public class ReceivePack extends BaseReceivePack { return; recvCommands(); if (hasCommands()) { - enableCapabilities(); - Throwable unpackError = null; if (needPack()) { try {