Subject: [PATCH] jgit: upload-pack: Force an fd flush after receiving flush pkt from client

From: Dima Zavin <[email-masked]>
Date: Mon, 16 Mar 2009 10:34:24 -0700

Signed-off-by: Dima Zavin <[email-masked]>
---
 .../src/org/spearce/jgit/transport/UploadPack.java |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/UploadPack.java b/org.spearce.jgit/src/org/spearce/jgit/transport/UploadPack.java
index 71acda1..80c154b 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/transport/UploadPack.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/UploadPack.java
@@ -351,7 +351,7 @@ private void negotiate() throws IOException {
 			if (line.length() == 0) {
 				if (commonBase.isEmpty() || multiAck)
 					pckOut.writeString("NAK\n");
-
+				pckOut.flush();
 			} else if (line.startsWith("have ") && line.length() == 45) {
 				final ObjectId id = ObjectId.fromString(line.substring(5));
 				if (matchHave(id)) {
@@ -372,7 +372,6 @@ private void negotiate() throws IOException {
 			} else if (line.equals("done")) {
 				if (commonBase.isEmpty())
 					pckOut.writeString("NAK\n");
-
 				else if (multiAck)
 					pckOut.writeString("ACK " + last.name() + "\n");
 				break;
-- 
1.6.2