Re: git grep --no-index and absolute paths don't work?
- From
Lars Noschinski <lars@public.noschinski.de>
- Date
- Oct 21, 2011, 11:49 UTC
- Message-ID
- <20111021114952.GA2797@lars.home.noschinski.de>
- In-Reply-To
- <1319180973.5352.8.camel@bee.lab.cmartin.tk>
* Carlos Martín Nieto <cmn@elego.de> [11-10-21 09:09]:
Show 11 quoted lines
> On Fri, 2011-10-21 at 08:34 +0200, Bert Wesarg wrote: > > I'm currently totally confused, that a > > > > git grep --no-index foo /usr/include > > > > does not work. I know that the documentation says "in the current > > directory" for the --no-index flag. But this does not work ether: > > The rest of the sentence reads ", not just those tracked by git" which > implies that the files tracked by git are also searched. This requires a > git repository.
git grep --no-index works outside of git repositories (at least with relative paths).
Show 12 quoted lines
> > cd ~; git grep --no-index foo ~/.bashrc > > > > They all fail with 'is outside repository'. Which is for itself vary > > misleading, because I intentionally said --no-index. > > Git is a tool that works on git repositories. Some commands may work > outside of a repository, like ls-remote when given an URL or init (for > obvious reasons) but it's not something that should be expected, > especially for commands that read files from the working tree. > > Why are you trying to use git's grep command outside a repository? Why > isn't 'grep -nr foo /usr/include/' good enough?
There are a few nice things about git's grep, which GNU grep does not have:
- automatic usage of pager - support for pathspecs (can be emulated with `find ...`) - support for boolean combinations of regular expressions
-- Lars.