From 4c44810df406115c811890336eaa131a8413149b Mon Sep 17 00:00:00 2001
From: "Shawn O. Pearce" <spearce@spearce.org>
Date: Tue, 9 Feb 2010 10:46:01 -0800
Subject: [PATCH] Use more restrictive patterns for sideband progress scraping

To avoid scraping a non-progress message as though it were a progress
item for the progress monitor, use a more restrictive pattern to
watch the remote side's messages.  These two regexps should match
any message produced by C Git since 42e18fbf5f94 ("more compact
progress display", Oct 2007), and which first appeared in Git 1.5.4.

Change-Id: I57e34cf59d42c1dbcbd1a83dd6f499ce5e39d15d
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 .../org/eclipse/jgit/transport/SideBandInputStream.java   | 8 ++++----
 1 file changed, 4 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 dadc0638b..0abbe7e09 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/SideBandInputStream.java
@@ -82,11 +82,11 @@ class SideBandInputStream extends InputStream {
 
 	static final int CH_ERROR = 3;
 
-	private static Pattern P_UNBOUNDED = Pattern.compile(
-			"^([\\w ]+): (\\d+)( |, done)?.*", Pattern.DOTALL);
+	private static Pattern P_UNBOUNDED = Pattern
+			.compile("^([\\w ]+): +(\\d+)(?:, done\\.)? *$");
 
-	private static Pattern P_BOUNDED = Pattern.compile(
-			"^([\\w ]+):.*\\((\\d+)/(\\d+)\\).*", Pattern.DOTALL);
+	private static Pattern P_BOUNDED = Pattern
+			.compile("^([\\w ]+): +\\d+% +\\( *(\\d+)/ *(\\d+)\\)(?:, done\\.)? *$");
 
 	private final InputStream rawIn;
 
-- 
GitLab