From 3a9295b8942639b8ac9f161a84b20fe15896e6b6 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 9 Feb 2010 10:39:15 -0800 Subject: [PATCH] Prefix remote progress tasks with "remote: " When we pull task messages off the remote peer via sideband #2 prefix them with the string "remote: " to make it clear to the user these are coming from the other system, and not from their local client. Change-Id: I02c5e67c6be67e30e40d3bc4be314d6640feb519 Signed-off-by: Shawn O. Pearce --- .../eclipse/jgit/transport/SideBandInputStream.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java index 5f3b34e6f..dadc0638b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java @@ -74,6 +74,8 @@ * @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 @@ private void needDataPacket() throws IOException { 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 @@ private boolean doProgressLine(final String msg) { 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 @@ private boolean doProgressLine(final String msg) { 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 @@ private boolean doProgressLine(final String msg) { 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);