Re: [PATCH 4/5] grep: introduce new config option to include untracked files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-03-19 01:58, Junio C Hamano wrote:
Dragan Simic <dsimic@xxxxxxxxxxx> writes:
Add new configuration option grep.includeUntracked that enables --untracked option by default. This pretty much follows the logic established by the already existing configuration option grep.fallbackToNoIndex, while also
respecting the dependencies of the --untracked option.

Also add a few automated tests to the t7810, to cover the new configuration

Do we have any non-automated tests in t7810?

Good point, will be removed in the v2, if we get there. Tying "automated"
to "test" is just an old habit of mine.

option by replicating the already existing tests for --untracked.

Signed-off-by: Dragan Simic <dsimic@xxxxxxxxxxx>
---
 builtin/grep.c  | 3 +++
 t/t7810-grep.sh | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/builtin/grep.c b/builtin/grep.c
index af89c8b5cb19..71d94126fb6e 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -1041,6 +1041,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
 		the_repository->settings.command_requires_full_index = 0;
 	}

+	if (use_index && !cached)
+		git_config_get_bool("grep.includeuntracked", &untracked);

Can this ever return an error?  E.g.

	[grep] includeuntracked = "not really"

How badly would setting this configuration variable break third
party tools that assume their "git grep" invocation without the
"--untracked" option would not yield hits from untracked files?

After a brief inspection of the code in cache.c, git_config_get_bool()
always returns either 0 or 1, so we should be fine.  Thus, any
strangeness in a configuration file would end up not enabling
this option.

As I already explained in my earlier response, [1] I think that
the usability of this option outweighs the possible issues it may
cause to some users.

[1] https://lore.kernel.org/git/c68a6d94bb02e5d9aa2f81bee022baa8@xxxxxxxxxxx/




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux