diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/execution/SocketServer.java b/plugins/hg4idea/src/org/zmlx/hg4idea/execution/SocketServer.java index 03705bcf01b3..91ff04db6557 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/execution/SocketServer.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/execution/SocketServer.java @@ -106,7 +106,14 @@ public class SocketServer { length = origLength; } byte[] data = new byte[length]; - inputStream.readFully(data); + + int offset = 0; + int available; + while ((available = inputStream.available()) > 0) { + inputStream.readFully(data, offset, available); + offset += available; + } + int skipped = inputStream.skipBytes(origLength - length); if (skipped > 0) { LOG.info(String.format("Skipped %s bytes", skipped));