From 4b7daecf4a827b9cf69a76e5cbd8559e8079f4c8 Mon Sep 17 00:00:00 2001 From: Andrey Loskutov Date: Sat, 26 Sep 2015 11:34:02 +0200 Subject: [PATCH] [ignore rules] Fix for character group matcher Currently we fail to properly recognize character group if the pattern before character group contains opening bracket. See comment from Sebastien Arod on https://git.eclipse.org/r/56678/ Change-Id: I70d3657a2a328818ea2bdc1409d18ecb3a85825b Signed-off-by: Andrey Loskutov --- .../tst/org/eclipse/jgit/ignore/FastIgnoreRuleTest.java | 1 + .../src/org/eclipse/jgit/ignore/internal/Strings.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/FastIgnoreRuleTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/FastIgnoreRuleTest.java index a4b799a72..2c04787e3 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/FastIgnoreRuleTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/FastIgnoreRuleTest.java @@ -55,6 +55,7 @@ public class FastIgnoreRuleTest { @Test public void testSimpleCharClass() { assertMatched("[a]", "a"); + assertMatched("][a]", "]a"); assertMatched("[a]", "a/"); assertMatched("[a]", "a/b"); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java b/org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java index 7452d293d..2e955d312 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java @@ -141,7 +141,7 @@ public class Strings { private static boolean isComplexWildcard(String pattern) { int idx1 = pattern.indexOf('['); if (idx1 != -1) { - int idx2 = pattern.indexOf(']'); + int idx2 = pattern.indexOf(']', idx1); if (idx2 > idx1) return true; }