git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: ag, **, and the GPL

From
David Turner <dturner@twopensource.com>
Date
Nov 19, 2014, 01:51 UTC
Message-ID
<1416361870.30428.5.camel@leckie>
In-Reply-To
<CACsJy8BYBKMqWiNQ=xFjS8s_6GCeoA+UZ-HQ_V1qnsvQG6jOKA@mail.gmail.com>
On Wed, 2014-11-19 at 07:48 +0700, Duy Nguyen wrote:
Show 25 quoted lines
> On Wed, Nov 19, 2014 at 12:57 AM, David Turner <dturner@twopensource.com> 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.

Previous: Duy NguyenNext: Jonathan Nieder
Message 5 of 7 in “ag, **, and the GPL”
  1. Matthew KaniarisNov 18, 2014
  2. Duy NguyenNov 18, 2014
  3. David TurnerNov 18, 2014
  4. Duy NguyenNov 19, 2014
  5. David TurnerNov 19, 2014
  6. Jonathan NiederNov 18, 2014
  7. Duy NguyenNov 19, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.