Browse Source

Don't treat "/" as valid ignore pattern

This matches the behavior of C Git.

Bug: 415767
Change-Id: Ifa6500f3f6a033da40c48287630b77c47b15f4a0
Signed-off-by: Robin Stocker <robin@nibor.org>
stable-3.1
Robin Stocker 11 years ago committed by Gerrit Code Review @ Eclipse.org
parent
commit
52ab578cd7
  1. 11
      org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java
  2. 2
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java

11
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"); 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 { private void beginWalk() throws CorruptObjectException {
walk = new TreeWalk(db); walk = new TreeWalk(db);
walk.addTree(new FileTreeIterator(db)); walk.addTree(new FileTreeIterator(db));

2
org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java

@ -102,7 +102,7 @@ public class IgnoreNode {
String txt; String txt;
while ((txt = br.readLine()) != null) { while ((txt = br.readLine()) != null) {
txt = txt.trim(); 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)); rules.add(new IgnoreRule(txt));
} }
} }

Loading…
Cancel
Save