From: Lars Noschinski Date: Fri, 21 Oct 2011 11:49:52 GMT Subject: Re: git grep --no-index and absolute paths don't work? Message-ID: <20111021114952.GA2797@lars.home.noschinski.de> In-Reply-To: <1319180973.5352.8.camel@bee.lab.cmartin.tk> * Carlos Martín Nieto [11-10-21 09:09]: > 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). > > 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.