The following pattern inside .gitignore doesn't work: log/*.log; while this works fine: *.log. I created a small test repo to display the issue:
Thanks for the repo. I can reproduce. I'm pretty sure I know where the problem is, but it'll probably be a few days before I have the time to dive into this.
Probably related, but even something like log/log.log does not work.
Confirmed. Looks like the method filename_ignore_search() only takes the filename portion as a param and not the full (relative?) path as well. Updated my test repo.
Yeah... my bad. I'm pretty busy now, but I will be not-busy starting October 30th. I'll definitely get to this then.
Ok, try master now.
Fix looks good for the original issues. Another small variation is if you only specify a subdir, e.g., log or log/, it won't match unless you add a glob pattern like log/*. I updated the test repo to reflect this.
Bleh. I had a return value wrong. Everything should work now.
I discovered another bug while fixing this, but most people won't notice it and the current fix kills performance. I'll have to think of a different solution before merging a fix into master.
@ggreer does it have anything to do with processing ignore files found in subdirectories? :)
Huh. June 2015 and I'm still seeing this bug. A gitignore with log/*.log does not work; that is, ag returns results from the ignored log files. If I change that to just log/ or log, it works correctly. There's no leading slash problem (Issue #285). Just installed the latest copy of ag via homebrew. Any ideas why I still might be seeing this?
Same here... on linux with latest build.
+1, .gitignore has no effect on search results
+1 on OSX, version 0.30.0
+1, OSX, 0.30.0
+1, OSX, 0.30.0
It has some effects but many expanding patterns are not working as expected.
Same error occurs with ag version 0.30.0.
work around ggreer/the_silver_searcher#100
+1, Linux version.
I'm seeing the same issue with 0.30.0 installed via homebrew.
Note that the trailing .log in @aeonaut's example isn't causing the problem. I'm seeing the same issue with a pattern like build/*. ag respects build/ but ignores build/*.