diff --git a/src/gitignore.rs b/src/gitignore.rs index e05dc582..bfc83846 100644 --- a/src/gitignore.rs +++ b/src/gitignore.rs @@ -283,12 +283,15 @@ impl GitignoreBuilder { from: P, mut line: &str, ) -> Result<(), Error> { - if line.is_empty() || line.starts_with("#") { + if line.starts_with("#") { return Ok(()); } if !line.ends_with("\\ ") { line = line.trim_right(); } + if line.is_empty() { + return Ok(()); + } let mut pat = Pattern { from: from.as_ref().to_path_buf(), original: line.to_string(), @@ -426,4 +429,10 @@ mod tests { not_ignored!(ignot11, ROOT, "#foo", "#foo"); not_ignored!(ignot12, ROOT, "\n\n\n", "foo"); not_ignored!(ignot13, ROOT, "foo/**", "foo", true); + + // See: https://github.com/BurntSushi/ripgrep/issues/106 + #[test] + fn regression_106() { + Gitignore::from_str("/", " ").unwrap(); + } }