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

Re: [PATCH 3/3] builtin/grep: allow implicit --no-index

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 11, 2016, 17:26 UTC
Message-ID
<xmqqlh7wxc0y.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160111111015.GA10612@hank>
Thomas Gummerer <t.gummerer@gmail.com> writes:
Show 22 quoted lines
> On 01/11, Duy Nguyen wrote:
>> On Sun, Jan 10, 2016 at 9:19 PM, Thomas Gummerer <t.gummerer@gmail.com> wrote:
>> > Currently when git grep is used outside of a git repository without the
>> > --no-index option git simply dies.  For convenience, implicitly make git
>> > grep behave like git grep --no-index when it is called outside of a git
>> > repository.
>>
>> Should we have a line about this behavior in git-grep.txt, maybe the
>> description section?
>
> Yes good point, the behavior change should definitely be documented.
>
>> I wonder if anybody wants the old behavior (e.g.
>> non-zero exit code when running outside a repo). If there is such a
>> case (*), we may need an option to revert it back (--no-no-index seems
>> ridiculous, maybe --use-index). The safest way though, is introduce a
>> new option like --use-index=<always|optional|never> then you can make
>> an grep alias with --use-index=optional.
>
> You're right.  I couldn't think of a reason why someone would rely on
> the old behavior, but maybe I missed something.  I like the idea of
> introducing the --use-index=... option.
I don't like that, though ;-)

"We run 'git grep' in random places and relied on it to fail when run in somewhere not under control of Git." feels so flawed at multiple levels that I doubt it deserves to be kept working. For one thing, "git grep" is not the way to tell something is under control of Git (rev-parse would be a better thing for scriptor to use). For another, how would such a script tell between "not a git repository" and there was no hits?

So I do agree that automatic fallback needs to be documented and advertised as a feature (or even a bugfix), I do not think we want to add knobs to keep such a broken script working.

Show 7 quoted lines
> How should we handle priority between --no-index and --use-index,
> should we just give --no-index priority if it is set and ignore the
> new --use-index option, or is there some other way?
>
>> (*) I've been hitting really weird real-world use cases so I'm a bit paranoid..
>> --
>> Duy
Previous: Thomas GummererNext: Thomas Gummerer
Message 8 of 32 in “Implicitly use --no-index if git grep is used outside of repo”
  1. 0/3 Implicitly use --no-index if git grep is used outside of repoThomas Gummerer, Jan 10, 2016
  2. 1/3 t7810: correct --no-index testThomas Gummerer, Jan 10, 2016
  3. 2/3 builtin/grep: rename use_index to no_indexThomas Gummerer, Jan 10, 2016
  4. Junio C HamanoJan 11, 2016
  5. 3/3 builtin/grep: allow implicit --no-indexThomas Gummerer, Jan 10, 2016
  6. Duy NguyenJan 11, 2016
  7. Thomas GummererJan 11, 2016
  8. Junio C HamanoJan 11, 2016
  9. Thomas GummererJan 11, 2016
  10. Jeff KingJan 11, 2016
  11. Junio C HamanoJan 11, 2016
  12. Eric SunshineJan 11, 2016
  13. Thomas GummererJan 11, 2016
  14. Junio C HamanoJan 11, 2016
  15. Thomas GummererJan 11, 2016
  16. Junio C HamanoJan 11, 2016
  17. Junio C HamanoJan 11, 2016
  18. Thomas GummererJan 11, 2016
  19. 0/3 Introduce a --use-index command line argument in git grepThomas Gummerer, Jan 11, 2016
  20. 1/3 t7810: correct --no-index testThomas Gummerer, Jan 11, 2016
  21. 2/3 builtin/grep: rename use_index to no_indexThomas Gummerer, Jan 11, 2016
  22. 3/3 builtin/grep: introduce --use-index argumentThomas Gummerer, Jan 11, 2016
  23. 0/2 grep: add fallbackToNoIndex config optionThomas Gummerer, Jan 11, 2016
  24. 1/2 t7810: correct --no-index testThomas Gummerer, Jan 11, 2016
  25. 2/2 builtin/grep: add grep.fallbackToNoIndex configThomas Gummerer, Jan 11, 2016
  26. Jeff KingJan 11, 2016
  27. Thomas GummererJan 11, 2016
  28. 0/2 grep: add fallbackToNoIndex config optionThomas Gummerer, Jan 12, 2016
  29. 1/2 t7810: correct --no-index testThomas Gummerer, Jan 12, 2016
  30. 2/2 builtin/grep: add grep.fallbackToNoIndex configThomas Gummerer, Jan 12, 2016
  31. Jeff KingJan 12, 2016
  32. Thomas GummererJan 12, 2016

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.