From 52ab578cd7180d114e01f5c3584424537e3440e3 Mon Sep 17 00:00:00 2001 From: Robin Stocker Date: Wed, 28 Aug 2013 22:57:37 +0200 Subject: [PATCH] Don't treat "/" as valid ignore pattern This matches the behavior of C Git. Bug: 415767 Change-Id: Ifa6500f3f6a033da40c48287630b77c47b15f4a0 Signed-off-by: Robin Stocker --- .../tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java | 11 +++++++++++ .../src/org/eclipse/jgit/ignore/IgnoreNode.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java index 881b01c31..0076ba124 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java @@ -166,6 +166,17 @@ public class IgnoreNodeTest extends RepositoryTestCase { assertEntry(F, tracked, "src/a/b"); } + @Test + public void testNoPatterns() throws IOException { + writeIgnoreFile(".gitignore", "", " ", "# comment", "/"); + writeTrashFile("a/a", ""); + + beginWalk(); + assertEntry(F, tracked, ".gitignore"); + assertEntry(D, tracked, "a"); + assertEntry(F, tracked, "a/a"); + } + private void beginWalk() throws CorruptObjectException { walk = new TreeWalk(db); walk.addTree(new FileTreeIterator(db)); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java b/org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java index fb65e0ce3..2cddddbe1 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java @@ -102,7 +102,7 @@ public class IgnoreNode { String txt; while ((txt = br.readLine()) != null) { txt = txt.trim(); - if (txt.length() > 0 && !txt.startsWith("#")) //$NON-NLS-1$ + if (txt.length() > 0 && !txt.startsWith("#") && !txt.equals("/")) //$NON-NLS-1$ //$NON-NLS-2$ rules.add(new IgnoreRule(txt)); } }