On Wed, 2014-11-19 at 07:48 +0700, Duy Nguyen wrote: > On Wed, Nov 19, 2014 at 12:57 AM, David Turner <dturner@xxxxxxxxxxxxxxxx> wrote: > > On Mon, 2014-11-17 at 20:50 -0800, Matthew Kaniaris wrote: > >> The Silver Search (https://github.com/ggreer/the_silver_searcher), is > >> a small, open source, cross platform searching utility written as a > >> replacement for ack. One of the major benefits of Ag (and a source > >> for much of its speed) is that it obeys .gitignore. However, Ag > >> currently treats gitignores as regexs which produces incorrect results > >> for e.g. **. I'd like to add support to ag to obey the .gitignore > >> spec but I'm not keen on implementing yet another fnmatch clone. Ag > >> is licensed under the Apache License Version 2.0 which to the best of > >> my understanding is incompatible with the GPLv2. Would you grant me > >> permission to reuse wildmatch.c (and necessary includes) for use in > >> Ag? > > > > I already implemented this without using any git code at > > https://github.com/novalis/the_silver_searcher. The patch was rejected > > because it slowed down ag slightly (or perhaps because it was overly > > complex). > > Interesting. Do you have a direct link to that discussion (I don't > know how to navigate that novalis link). Generally you (or ag) should > avoid fnmatch/wildmatch whenever possible. Hitting those *match() > _will_ slow things down (and git tries hard to avoid it). I had some > optimizations on top of rsync wildmatch to handle "*" case better, but > I don't think it'll make big difference in practice. I did sort of a massive pull request here: https://github.com/ggreer/the_silver_searcher/pull/222 Here's the main commit: https://github.com/novalis/the_silver_searcher/commit/50d125647d7b91af08ad43b4b1b977b7e23e0cfa I think there as more discussion on some of the other tickets, but it was over a year ago so I don't recall the details. Really the thing that ag needs is (a) indexing and (b) to be hooked up to watchman to update the index. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html