|
|
@@ -74,6 +74,8 @@ import org.eclipse.jgit.util.RawParseUtils; |
|
|
|
* @see SideBandOutputStream |
|
|
|
*/ |
|
|
|
class SideBandInputStream extends InputStream { |
|
|
|
private static final String PFX_REMOTE = "remote: "; |
|
|
|
|
|
|
|
static final int CH_DATA = 1; |
|
|
|
|
|
|
|
static final int CH_PROGRESS = 2; |
|
|
@@ -161,7 +163,7 @@ class SideBandInputStream extends InputStream { |
|
|
|
continue; |
|
|
|
case CH_ERROR: |
|
|
|
eof = true; |
|
|
|
throw new TransportException("remote: " + readString(available)); |
|
|
|
throw new TransportException(PFX_REMOTE + readString(available)); |
|
|
|
default: |
|
|
|
throw new PackProtocolException("Invalid channel " + channel); |
|
|
|
} |
|
|
@@ -201,8 +203,7 @@ class SideBandInputStream extends InputStream { |
|
|
|
if (!currentTask.equals(taskname)) { |
|
|
|
currentTask = taskname; |
|
|
|
lastCnt = 0; |
|
|
|
final int tot = Integer.parseInt(matcher.group(3)); |
|
|
|
monitor.beginTask(currentTask, tot); |
|
|
|
beginTask(Integer.parseInt(matcher.group(3))); |
|
|
|
} |
|
|
|
final int cnt = Integer.parseInt(matcher.group(2)); |
|
|
|
monitor.update(cnt - lastCnt); |
|
|
@@ -216,7 +217,7 @@ class SideBandInputStream extends InputStream { |
|
|
|
if (!currentTask.equals(taskname)) { |
|
|
|
currentTask = taskname; |
|
|
|
lastCnt = 0; |
|
|
|
monitor.beginTask(currentTask, ProgressMonitor.UNKNOWN); |
|
|
|
beginTask(ProgressMonitor.UNKNOWN); |
|
|
|
} |
|
|
|
final int cnt = Integer.parseInt(matcher.group(2)); |
|
|
|
monitor.update(cnt - lastCnt); |
|
|
@@ -227,6 +228,10 @@ class SideBandInputStream extends InputStream { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private void beginTask(final int totalWorkUnits) { |
|
|
|
monitor.beginTask(PFX_REMOTE + currentTask, totalWorkUnits); |
|
|
|
} |
|
|
|
|
|
|
|
private String readString(final int len) throws IOException { |
|
|
|
final byte[] raw = new byte[len]; |
|
|
|
IO.readFully(rawIn, raw, 0, len); |